![]() |
Stan Math Library
3.1.0
Automatic Differentiation
|
Matrices and templated mathematical functions.
Templated probability distributions. All paramaterizations are based on Bayesian Data Analysis. Function gradients via reverse-mode automatic differentiation.
Namespaces | |
| internal | |
| opencl | |
| opencl_kernels | |
Classes | |
| class | accumulator |
| Class to accumulate values and eventually return their sum. More... | |
| struct | acos_fun |
| Structure to wrap acos() so it can be vectorized. More... | |
| struct | acosh_fun |
| Structure to wrap acosh() so it can be vectorized. More... | |
| struct | ad_promotable |
| If the type From can be converted to To using implicit conversions, or both From and To are possibly cv-qualified void), provides the member constant value equal to true. More... | |
| class | ad_tape_observer |
| TBB observer object which is a callback hook called whenever the TBB scheduler adds a new thread to the TBB managed threadpool. More... | |
| struct | adj_jac_vari |
| adj_jac_vari interfaces a user supplied functor with the reverse mode autodiff. More... | |
| struct | algebra_solver_vari |
| The vari class for the algebraic solver. More... | |
| struct | append_return_type |
| This template metaprogram is used to compute the return type for append_array. More... | |
| struct | append_return_type< Eigen::Matrix< T1, R, C >, Eigen::Matrix< T2, R, C > > |
| This template metaprogram is used to compute the return type for append_array. | |
| struct | append_return_type< int, int > |
| This template metaprogram is used to compute the return type for append_array. More... | |
| struct | append_return_type< std::vector< T1 >, std::vector< T2 > > |
| This template metaprogram is used to compute the return type for append_array. | |
| struct | apply_scalar_unary |
Base template class for vectorization of unary scalar functions defined by a template class F to a scalar, standard library vector, or Eigen dense matrix expression template. More... | |
| struct | apply_scalar_unary< F, double > |
| Template specialization for vectorized functions applying to double arguments. More... | |
| struct | apply_scalar_unary< F, fvar< T > > |
| Template specialization to fvar for vectorizing a unary scalar function. More... | |
| struct | apply_scalar_unary< F, int > |
| Template specialization for vectorized functions applying to integer arguments. More... | |
| struct | apply_scalar_unary< F, std::vector< T > > |
| Template specialization for vectorized functions applying to standard vector containers. | |
| struct | apply_scalar_unary< F, T, require_eigen_t< T > > |
| Template specialization for vectorized functions applying to Eigen matrix arguments. More... | |
| struct | apply_scalar_unary< F, var > |
| Template specialization to var for vectorizing a unary scalar function. More... | |
| struct | apply_vector_unary |
| struct | apply_vector_unary< T, require_eigen_t< T > > |
| Base template class for vectorization of unary vector functions defined by applying a functor to a standard library vector, Eigen dense matrix expression template, or container of these. More... | |
| struct | apply_vector_unary< T, require_std_vector_vt< is_container, T > > |
| Specialisation for use with nested containers (std::vectors). More... | |
| struct | apply_vector_unary< T, require_std_vector_vt< is_stan_scalar, T > > |
| Specialisation for use with (non-nested) std::vectors. More... | |
| class | array_builder |
| Structure for building up arrays in an expression (rather than in statements) using an argument-chaining add() method and a getter method array() to return the result. More... | |
| struct | asin_fun |
| Structure to wrap asin() so it can be vectorized. More... | |
| struct | asinh_fun |
| Structure to wrap asinh() so it can be vectorized. More... | |
| struct | atan_fun |
| Structure to wrap atan() so it can be vectorized. More... | |
| struct | atanh_fun |
| Structure to wrap atanh() so it can be vectorized. More... | |
| struct | AutodiffStackSingleton |
| This struct always provides access to the autodiff stack using the singleton pattern. More... | |
| class | binary_operation |
| Represents a binary operation in kernel generator expressions. More... | |
| class | block_ |
| Represents submatrix block in kernel generator expressions. More... | |
| struct | cbrt_fun |
| Structure to wrap cbrt() so it can be vectorized. More... | |
| struct | ceil_fun |
| Structure to wrap ceil() so it can be vectorized. More... | |
| class | chainable_alloc |
| A chainable_alloc is an object which is constructed and destructed normally but the memory lifespan is managed along with the arena allocator for the gradient calculation. More... | |
| struct | child_type |
| Primary template class for metaprogram to compute child type of T. More... | |
| struct | child_type< T_struct< T_child > > |
| Specialization for template classes / structs. More... | |
| class | cholesky_block |
| class | cholesky_opencl |
| class | cholesky_scalar |
| struct | common_type |
| Struct which calculates type promotion given two types. More... | |
| struct | common_type< Eigen::Matrix< T1, R, C >, Eigen::Matrix< T2, R, C > > |
| Struct which calculates type promotion over two types. | |
| struct | common_type< std::vector< T1 >, std::vector< T2 > > |
| Struct which calculates type promotion over two types. | |
| struct | conjunction |
| Extends std::true_type when instantiated with zero or more template parameters, all of which extend the std::true_type. More... | |
| struct | conjunction< T, Ts... > |
| struct | cos_fun |
| Structure to wrap cos() so it can be vectorized. More... | |
| struct | cosh_fun |
| Structure to wrap cosh() so it can be vectorized. More... | |
| struct | coupled_ode_observer |
| Observer for the coupled states. More... | |
| struct | coupled_ode_system |
The coupled_ode_system represents the coupled ode system, which is the base ode and the sensitivities of the base ode (derivatives with respect to the parameters of the base ode). More... | |
| class | coupled_ode_system< F, double, double > |
coupled_ode_system specialization for for known initial values and known parameters. More... | |
| struct | coupled_ode_system< F, double, var > |
The coupled_ode_system template specialization for known initial values and unknown parameters. More... | |
| struct | coupled_ode_system< F, var, double > |
The coupled_ode_system template specialization for unknown initial values and known parameters. More... | |
| struct | coupled_ode_system< F, var, var > |
The coupled_ode_system template specialization for unknown initial values and unknown parameters. More... | |
| class | cov_exp_quad_vari |
| class | cov_exp_quad_vari< T_x, double, T_l > |
| class | cvodes_integrator |
| Integrator interface for CVODES' ODE solvers (Adams & BDF methods). More... | |
| class | cvodes_ode_data |
| CVODES ode data holder object which is used during CVODES integration for CVODES callbacks. More... | |
| struct | digamma_fun |
| Structure to wrap digamma() so it can be vectorized. More... | |
| struct | disjunction |
| Extends std::false_type when instantiated with zero or more template parameters, all of which extend the std::false_type. More... | |
| struct | disjunction< Cond, Conds... > |
| struct | erf_fun |
| Structure to wrap erf() so it can be vectorized. More... | |
| struct | erfc_fun |
| Structure to wrap erfc() so that it can be vectorized. More... | |
| struct | exp2_fun |
| Structure to wrap exp2() so it can be vectorized. More... | |
| struct | exp_fun |
Structure to wrap exp() so that it can be vectorized. More... | |
| struct | expm1_fun |
| Structure to wrap expm1() so that it can be vectorized. More... | |
| struct | fabs_fun |
| Structure to wrap fabs() so that it can be vectorized. More... | |
| struct | FixedPointADJac |
| struct | FixedPointSolver |
| struct | FixedPointSolver< KinsolFixedPointEnv< F >, fp_jac_type > |
| struct | floor_fun |
| Structure to wrap floor() so that it can be vectorized. More... | |
| struct | fvar |
| This template class represents scalars used in forward-mode automatic differentiation, which consist of values and directional derivatives of the specified template type. More... | |
| class | gevv_vvv_vari |
| class | gp_exp_quad_cov_vari |
| This is a subclass of the vari class for precomputed gradients of gp_exp_quad_cov. More... | |
| class | gp_exp_quad_cov_vari< T_x, double, T_l > |
| This is a subclass of the vari class for precomputed gradients of gp_exp_quad_cov. More... | |
| class | gp_periodic_cov_vari |
| This is a subclass of the vari class for precomputed gradients of gp_periodic_cov. More... | |
| class | gp_periodic_cov_vari< T_x, double, T_l, T_p > |
| This is a subclass of the vari class for precomputed gradients of gp_periodic_cov. More... | |
| struct | hybrj_functor_solver |
| A functor with the required operators to call Eigen's algebraic solver. More... | |
| class | idas_forward_system |
| IDAS DAE system with forward sensitivity calculation. More... | |
| class | idas_integrator |
| IDAS DAE integrator. More... | |
| class | idas_system |
| IDAS DAE system that contains informtion on residual equation functor, sensitivity residual equation functor, as well as initial conditions. More... | |
| struct | include_summand |
| Template metaprogram to calculate whether a summand needs to be included in a proportional (log) probability calculation. More... | |
| struct | include_summand< propto, T > |
true if a term with the specified propto value and subterm types should be included in a proportionality calculation. More... | |
| struct | index_type |
| Primary template class for the metaprogram to compute the index type of a container. More... | |
| struct | index_type< T, require_eigen_t< T > > |
| Template metaprogram defining typedef for the type of index for an Eigen matrix, vector, or row vector. More... | |
| struct | index_type< T, require_std_vector_t< T > > |
| Template metaprogram class to compute the type of index for a standard vector. More... | |
| struct | index_type< T, std::enable_if_t< std::is_pointer< T >::value > > |
| Specialization of index_type for pointers. | |
| struct | inv_cloglog_fun |
| Structure to wrap inv_cloglog() so that it can be vectorized. More... | |
| struct | inv_fun |
| Structure to wrap inv() so that it can be vectorized. More... | |
| struct | inv_logit_fun |
| Structure to wrap inv_logit() so that it can be vectorized. More... | |
| struct | inv_Phi_fun |
| Structure to wrap inv_Phi() so it can be vectorized. More... | |
| struct | inv_sqrt_fun |
| Structure to wrap inv_sqrt() so that it can be vectorized. More... | |
| struct | is_valid_expression |
| Determines whether a type is is a valid kernel generator expression. More... | |
| struct | is_valid_expression_and_not_scalar |
| Determines whether a type is non-scalar type that is a valid kernel generator expression. More... | |
| struct | is_valid_expression_and_not_scalar< T, require_matrix_cl_t< T > > |
| struct | kernel_parts |
| Parts of an OpenCL kernel, generated by an expression. More... | |
| struct | kinsol_J_f |
| Default Jacobian builder using reverse-mode autodiff. More... | |
| class | kinsol_system_data |
| KINSOL algebraic system data holder. More... | |
| struct | KinsolFixedPointEnv |
| KINSOL algebraic system data holder that handles construction & destruction of SUNDIALS data, as well as auxiliary data that will be used for functor evaluation. More... | |
| class | LDLT_alloc |
| This object stores the actual (double typed) LDLT factorization of an Eigen::Matrix<var> along with pointers to its vari's which allow the *ldlt_ functions to save memory. More... | |
| class | LDLT_factor |
| LDLT_factor is a thin wrapper on Eigen::LDLT to allow for reusing factorizations and efficient autodiff of things like log determinants and solutions to linear systems. More... | |
| class | LDLT_factor< var, R, C > |
| A template specialization of src/stan/math/matrix/LDLT_factor.hpp for var which can be used with all the *_ldlt functions. More... | |
| struct | lgamma_fun |
| Structure to wrap lgamma() so that it can be vectorized. More... | |
| class | load_ |
Represents an access to a matrix_cl in kernel generator expressions. More... | |
| struct | log10_fun |
| Structure to wrap log10() so it can be vectorized. More... | |
| struct | log1m_exp_fun |
| Structure to wrap log1m_exp() so it can be vectorized. More... | |
| struct | log1m_fun |
| Structure to wrap log1m() so it can be vectorized. More... | |
| struct | log1m_inv_logit_fun |
| Structure to wrap log1m_inv_logit() so it can be vectorized. More... | |
| struct | log1p_exp_fun |
| Structure to wrap log1m_exp() so that it can be vectorized. More... | |
| struct | log1p_fun |
| Structure to wrap log1p() so it can be vectorized. More... | |
| struct | log2_fun |
| Structure to wrap log2() so it can be vectorized. More... | |
| struct | log_fun |
| Structure to wrap log() so that it can be vectorized. More... | |
| struct | log_inv_logit_fun |
| Structure to wrap log_inv_logit() so it can be vectorized. More... | |
| struct | logit_fun |
| Structure to wrap logit() so it can be vectorized. More... | |
| class | matrix_cl |
| class | matrix_cl< T, require_arithmetic_t< T > > |
| Represents a matrix on the OpenCL device. More... | |
| class | matrix_cl< T, require_var_t< T > > |
| class | matrix_exp_action_handler |
| struct | max_op |
| Operation for max reduction. More... | |
| struct | min_op |
| Operation for min reduction. More... | |
| struct | mpi_cluster |
| MPI cluster holds MPI resources and must be initialized only once in any MPI program. More... | |
| struct | mpi_command |
| A MPI command object is used to execute code on worker nodes. More... | |
| struct | mpi_distributed_apply |
| MPI command template which calls the static method distributed_apply of the given class F. More... | |
| class | mpi_is_in_use |
| Exception thrown whenever the MPI resource is busy. More... | |
| class | mpi_parallel_call |
| The MPI parallel call class manages the distributed evaluation of a collection of tasks following the map - reduce - combine pattern. More... | |
| class | mpi_stop_listen |
| Exception used to stop workers nodes from further listening to commands send from the root. More... | |
| struct | mpi_stop_worker |
| MPI command used to stop childs nodes from listening for further commands. More... | |
| class | multiply_mat_vari |
| This is a subclass of the vari class for matrix multiplication A * B where A is N by M and B is M by K. More... | |
| class | multiply_mat_vari< double, 1, Ca, Tb, 1 > |
| This is a subclass of the vari class for matrix multiplication A * B where A is a double row vector of length M and B is a vector of length M. More... | |
| class | multiply_mat_vari< double, Ra, Ca, Tb, Cb > |
| This is a subclass of the vari class for matrix multiplication A * B where A is an N by M matrix of double and B is M by K. More... | |
| class | multiply_mat_vari< Ta, 1, Ca, double, 1 > |
| This is a subclass of the vari class for matrix multiplication A * B where A is a row vector of length M and B is a vector of length M of doubles. More... | |
| class | multiply_mat_vari< Ta, 1, Ca, Tb, 1 > |
| This is a subclass of the vari class for matrix multiplication A * B where A is 1 by M and B is M by 1. More... | |
| class | multiply_mat_vari< Ta, Ra, Ca, double, Cb > |
| This is a subclass of the vari class for matrix multiplication A * B where A is N by M and B is an M by K matrix of doubles. More... | |
| class | name_generator |
| Unique name generator for variables used in generated kernels. More... | |
| struct | nlo_functor |
| A structure which gets passed to Eigen's dogleg algebraic solver. More... | |
| class | op_ddv_vari |
| class | op_dv_vari |
| class | op_dvd_vari |
| class | op_dvv_vari |
| class | op_matrix_vari |
| class | op_v_vari |
| class | op_vd_vari |
| class | op_vdd_vari |
| class | op_vdv_vari |
| class | op_vector_vari |
| class | op_vv_vari |
| class | op_vvd_vari |
| class | op_vvv_vari |
| class | opencl_context |
| The API to access the methods and values in opencl_context_base. More... | |
| class | opencl_context_base |
The opencl_context_base class represents an OpenCL context in the standard Meyers singleton design pattern. More... | |
| class | operands_and_partials |
| This template builds partial derivatives with respect to a set of operands. More... | |
| class | operands_and_partials< Op1, Op2, Op3, Op4, Op5, fvar< Dx > > |
| This class builds partial derivatives with respect to a set of operands. More... | |
| class | operands_and_partials< Op1, Op2, Op3, Op4, Op5, var > |
| This class builds partial derivatives with respect to a set of operands. More... | |
| class | operation_cl |
| Base for all kernel generator operations. More... | |
| class | operation_cl_base |
Non-templated base of operation is needed for easy checking if something is a subclass of operation. More... | |
| class | operation_cl_lhs |
| Base for all kernel generator operations that can be used on left hand side of an expression. More... | |
| struct | pass_type |
| struct | pass_type< double > |
| struct | pass_type< int > |
| struct | Phi_approx_fun |
| Structure to wrap Phi_approx() so it can be vectorized. More... | |
| struct | Phi_fun |
| Structure to wrap Phi() so it can be vectorized. More... | |
| class | precomp_v_vari |
| class | precomp_vv_vari |
| class | precomp_vvv_vari |
| class | precomputed_gradients_vari |
| A variable implementation taking a sequence of operands and partial derivatives with respect to the operands. More... | |
| struct | promote_elements |
| Struct with static function for elementwise type promotion. More... | |
| struct | promote_elements< Eigen::Matrix< T, R, C >, Eigen::Matrix< S, R, C > > |
| Struct with static function for elementwise type promotion. | |
| struct | promote_elements< Eigen::Matrix< T, R, C >, Eigen::Matrix< T, R, C > > |
| Struct with static function for elementwise type promotion. | |
| struct | promote_elements< std::vector< T >, std::vector< S > > |
| Struct with static function for elementwise type promotion. | |
| struct | promote_elements< std::vector< T >, std::vector< T > > |
| Struct with static function for elementwise type promotion. | |
| struct | promote_elements< T, T > |
| Struct with static function for elementwise type promotion. More... | |
| struct | promote_scalar_struct |
| General struct to hold static function for promoting underlying scalar types. More... | |
| struct | promote_scalar_struct< T, S, require_eigen_t< S > > |
| Struct to hold static function for promoting underlying scalar types. More... | |
| struct | promote_scalar_struct< T, std::vector< S > > |
| Struct to hold static function for promoting underlying scalar types. | |
| struct | promote_scalar_struct< T, T > |
| Struct to hold static function for promoting underlying scalar types. More... | |
| struct | promote_scalar_type |
| Template metaprogram to calculate a type for converting a convertible type. More... | |
| struct | promote_scalar_type< T, S, require_eigen_t< S > > |
| Template metaprogram to calculate a type for a matrix, vector, row vector or Eigen::Array whose underlying scalar is converted from the second template parameter type to the first. More... | |
| struct | promote_scalar_type< T, std::vector< S > > |
| Template metaprogram to calculate a type for a container whose underlying scalar is converted from the second template parameter type to the first. | |
| struct | round_fun |
| Structure to wrap round() so it can be vectorized. More... | |
| class | rowwise_max_ |
| Represents rowwise max reduction in kernel generator expressions. More... | |
| class | rowwise_min_ |
| Represents rowwise min reduction in kernel generator expressions. More... | |
| class | rowwise_reduction |
| Represents a rowwise reduction in kernel generator expressions. More... | |
| class | rowwise_sum_ |
| Represents rowwise sum reduction in kernel generator expressions. More... | |
| class | scal_squared_distance_dv_vari |
| class | scal_squared_distance_vd_vari |
| class | scal_squared_distance_vv_vari |
| class | scalar_ |
| Represents a scalar in kernel generator expressions. More... | |
| class | select_ |
| Represents a selection operation in kernel generator expressions. More... | |
| class | seq_view |
| class | seq_view< double, std::vector< int > > |
| class | seq_view< T, Eigen::Matrix< S, 1, Eigen::Dynamic > > |
| class | seq_view< T, Eigen::Matrix< S, Eigen::Dynamic, 1 > > |
| class | seq_view< T, Eigen::Matrix< S, Eigen::Dynamic, Eigen::Dynamic > > |
| class | seq_view< T, std::vector< S > > |
| class | seq_view< T, std::vector< std::vector< T > > > |
| class | seq_view< T, std::vector< T > > |
| struct | sin_fun |
| Structure to wrap sin() so it can be vectorized. More... | |
| struct | sinh_fun |
| Structure to wrap sinh() so that it can be vectorized. More... | |
| struct | sqrt_fun |
| Structure to wrap sqrt() so that it can be vectorized. More... | |
| struct | square_fun |
| Structure to wrap square() so that it can be vectorized. More... | |
| class | stack_alloc |
| An instance of this class provides a memory pool through which blocks of raw memory may be allocated and then collected simultaneously. More... | |
| struct | store_type |
| struct | store_type< double > |
| struct | store_type< int > |
| class | stored_gradient_vari |
| A var implementation that stores the daughter variable implementation pointers and the partial derivative with respect to the result explicitly in arrays constructed on the autodiff memory stack. More... | |
| class | sum_eigen_v_vari |
| Class for representing sums with constructors for Eigen. More... | |
| struct | sum_op |
| Operation for sum reduction. More... | |
| class | sum_v_vari |
| Class for sums of variables constructed with standard vectors. More... | |
| struct | system_functor |
| A functor that allows us to treat either x or y as the independent variable. More... | |
| struct | tan_fun |
| Structure to wrap tan() so that it can be vectorized. More... | |
| struct | tanh_fun |
| Structure to wrap tanh() so that it can be vectorized. More... | |
| struct | tgamma_fun |
| Structure to wrap tgamma() so that it can be vectorized. More... | |
| struct | trigamma_fun |
| Structure to wrap trigamma() so it can be vectorized. More... | |
| struct | trunc_fun |
| Structure to wrap trunc() so it can be vectorized. More... | |
| class | unary_function_cl |
| Represents a unary function in kernel generator expressions. More... | |
| class | var |
| Independent (input) and dependent (output) variables for gradients. More... | |
| class | vari |
| The variable implementation base class. More... | |
| class | welford_covar_estimator |
| class | welford_var_estimator |
Typedefs | |
| using | size_type = Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic >::Index |
| Type for sizes and indexes in an Eigen matrix with double elements. More... | |
| using | matrix_fd = Eigen::Matrix< fvar< double >, Eigen::Dynamic, Eigen::Dynamic > |
| using | matrix_ffd = Eigen::Matrix< fvar< fvar< double > >, Eigen::Dynamic, Eigen::Dynamic > |
| using | vector_fd = Eigen::Matrix< fvar< double >, Eigen::Dynamic, 1 > |
| using | vector_ffd = Eigen::Matrix< fvar< fvar< double > >, Eigen::Dynamic, 1 > |
| using | row_vector_fd = Eigen::Matrix< fvar< double >, 1, Eigen::Dynamic > |
| using | row_vector_ffd = Eigen::Matrix< fvar< fvar< double > >, 1, Eigen::Dynamic > |
| using | matrix_fv = Eigen::Matrix< fvar< var >, Eigen::Dynamic, Eigen::Dynamic > |
| using | matrix_ffv = Eigen::Matrix< fvar< fvar< var >>, Eigen::Dynamic, Eigen::Dynamic > |
| using | vector_fv = Eigen::Matrix< fvar< var >, Eigen::Dynamic, 1 > |
| using | vector_ffv = Eigen::Matrix< fvar< fvar< var >>, Eigen::Dynamic, 1 > |
| using | row_vector_fv = Eigen::Matrix< fvar< var >, 1, Eigen::Dynamic > |
| using | row_vector_ffv = Eigen::Matrix< fvar< fvar< var >>, 1, Eigen::Dynamic > |
| template<typename T > | |
| using | as_operation_cl_t = std::conditional_t< std::is_lvalue_reference< T >::value, decltype(as_operation_cl(std::declval< T >())), std::remove_reference_t< decltype(as_operation_cl(std::declval< T >()))>> |
| Type that results when converting any valid kernel generator expression into operation. More... | |
| template<typename... Types> | |
| using | require_all_valid_expressions_and_none_scalar_t = require_all_t< is_valid_expression_and_not_scalar< Types >... > |
| Enables a template if all given types are non-scalar types that are a valid kernel generator expressions. More... | |
| template<typename... Types> | |
| using | require_all_valid_expressions_t = require_all_t< is_valid_expression< Types >... > |
| Enables a template if all given types are are a valid kernel generator expressions. More... | |
| template<typename T > | |
| using | matrix_cl_prim = matrix_cl< T, require_arithmetic_t< T >> |
| template<typename T > | |
| using | matrix_cl_fp = matrix_cl< T, require_floating_point_t< T >> |
| using | boost_policy_t = boost::math::policies::policy< boost::math::policies::overflow_error< boost::math::policies::errno_on_error >, boost::math::policies::pole_error< boost::math::policies::errno_on_error >, boost::math::policies::promote_double< false > > |
| Boost policy that overrides the defaults to match the built-in C++ standard library functions. More... | |
| using | matrix_d = Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > |
| Type for matrix of double values. More... | |
| using | vector_d = Eigen::Matrix< double, Eigen::Dynamic, 1 > |
| Type for (column) vector of double values. More... | |
| using | row_vector_d = Eigen::Matrix< double, 1, Eigen::Dynamic > |
| Type for (row) vector of double values. More... | |
| template<typename T > | |
| using | index_type_t = typename index_type< T >::type |
| Type for sizes and indexes in an Eigen matrix with double elements. More... | |
| template<typename T , typename S > | |
| using | promote_scalar_t = typename promote_scalar_type< T, S >::type |
| using | ChainableStack = AutodiffStackSingleton< vari, chainable_alloc > |
| using | matrix_v = Eigen::Matrix< var, Eigen::Dynamic, Eigen::Dynamic > |
The type of a matrix holding var values. More... | |
| using | vector_v = Eigen::Matrix< var, Eigen::Dynamic, 1 > |
The type of a (column) vector holding var values. More... | |
| using | row_vector_v = Eigen::Matrix< var, 1, Eigen::Dynamic > |
The type of a row vector holding var values. More... | |
| using | matrix_vi = Eigen::Matrix< vari *, Eigen::Dynamic, Eigen::Dynamic > |
The type of a matrix holding vari* values. More... | |
| using | vector_vi = Eigen::Matrix< vari *, Eigen::Dynamic, 1 > |
The type of a (column) vector holding vari* values. More... | |
| using | row_vector_vi = Eigen::Matrix< vari *, 1, Eigen::Dynamic > |
The type of a row vector holding vari* values. More... | |
Enumerations | |
| enum | matrix_cl_view { matrix_cl_view::Diagonal = 0, matrix_cl_view::Lower = 1, matrix_cl_view::Upper = 2, matrix_cl_view::Entire = 3 } |
| enum | TriangularMapCL { TriangularMapCL::UpperToLower = 0, TriangularMapCL::LowerToUpper = 1 } |
Functions | |
| template<typename T > | |
| fvar< T > | operator+ (const fvar< T > &x1, const fvar< T > &x2) |
| Return the sum of the specified forward mode addends. More... | |
| template<typename T > | |
| fvar< T > | operator+ (double x1, const fvar< T > &x2) |
| Return the sum of the specified double and forward mode addends. More... | |
| template<typename T > | |
| fvar< T > | operator+ (const fvar< T > &x1, double x2) |
| Return the sum of the specified forward mode and double addends. More... | |
| template<typename T > | |
| fvar< T > | operator/ (const fvar< T > &x1, const fvar< T > &x2) |
| Return the result of dividing the first argument by the second. More... | |
| template<typename T > | |
| fvar< T > | operator/ (const fvar< T > &x1, double x2) |
| Return the result of dividing the first argument by the second. More... | |
| template<typename T > | |
| fvar< T > | operator/ (double x1, const fvar< T > &x2) |
| Return the result of dividing the first argument by the second. More... | |
| template<typename T > | |
| bool | operator== (const fvar< T > &x, const fvar< T > &y) |
Return true if the specified variables have equal values as defined by ==. More... | |
| template<typename T > | |
| bool | operator== (const fvar< T > &x, double y) |
Return true if the the first variable has a value equal to the second argument as defined by by ==. More... | |
| template<typename T > | |
| bool | operator== (double x, const fvar< T > &y) |
Return true if the the first argument is equal to the value of the second argument as defined by by ==. More... | |
| template<typename T > | |
| bool | operator> (const fvar< T > &x, const fvar< T > &y) |
Return true if the first argument has a greater value than the second as defined by >. More... | |
| template<typename T > | |
| bool | operator> (const fvar< T > &x, double y) |
Return true if the first argument has a greater value than the second as defined by >. More... | |
| template<typename T > | |
| bool | operator> (double x, const fvar< T > &y) |
Return true if the first argument has a greater value than the second as defined by >. More... | |
| template<typename T > | |
| bool | operator>= (const fvar< T > &x, const fvar< T > &y) |
Return true if the value of the first argument is greater than or equal to that of the second as defined by >=. More... | |
| template<typename T > | |
| bool | operator>= (const fvar< T > &x, double y) |
Return true if the value of the first argument has a value greater than or equal to the second argument as defined by >=. More... | |
| template<typename T > | |
| bool | operator>= (double x, const fvar< T > &y) |
Return true if the first argument is greater than or equal to the value of the second argument as defined by >=. More... | |
| template<typename T > | |
| bool | operator< (const fvar< T > &x, const fvar< T > &y) |
Return true if the first argument has a value less than the value of the second argument as defined by <. More... | |
| template<typename T > | |
| bool | operator< (double x, const fvar< T > &y) |
Return true if the first argument is less than the value of the second argument as defined by <. More... | |
| template<typename T > | |
| bool | operator< (const fvar< T > &x, double y) |
Return true if the first argument has a value less than the second argument as defined by <. More... | |
| template<typename T > | |
| bool | operator<= (const fvar< T > &x, const fvar< T > &y) |
Return true if the first argument has a value less than or equal to the value of the second argument as defined by <=. More... | |
| template<typename T > | |
| bool | operator<= (const fvar< T > &x, double y) |
Return true if the first argument has a value less than or equal to the second argument as defined by <=. More... | |
| template<typename T > | |
| bool | operator<= (double x, const fvar< T > &y) |
Return true if the first argument is less than or equal to the second argument's value as defined by <=. More... | |
| template<typename T > | |
| bool | operator && (const fvar< T > &x, const fvar< T > &y) |
Return the logical conjunction of the values of the two arguments as defined by &&. More... | |
| template<typename T > | |
| bool | operator && (const fvar< T > &x, double y) |
Return the logical conjunction of the values of the two arguments as defined by &&. More... | |
| template<typename T > | |
| bool | operator && (double x, const fvar< T > &y) |
Return the logical conjunction of the values of the two arguments as defined by &&. More... | |
| template<typename T > | |
| bool | operator|| (const fvar< T > &x, const fvar< T > &y) |
Return the logical disjunction of the values of the two arguments as defined by ||. More... | |
| template<typename T > | |
| bool | operator|| (const fvar< T > &x, double y) |
Return the logical disjunction of the values of the two arguments as defined by ||. More... | |
| template<typename T > | |
| bool | operator|| (double x, const fvar< T > &y) |
Return the logical disjunction of the values of the two arguments as defined by ||. More... | |
| template<typename T > | |
| fvar< T > | operator* (const fvar< T > &x, const fvar< T > &y) |
| Return the product of the two arguments. More... | |
| template<typename T > | |
| fvar< T > | operator* (double x, const fvar< T > &y) |
| Return the product of the two arguments. More... | |
| template<typename T > | |
| fvar< T > | operator* (const fvar< T > &x, double y) |
| Return the product of the two arguments. More... | |
| template<typename T > | |
| bool | operator!= (const fvar< T > &x, const fvar< T > &y) |
Return true if the value of the two arguments are not equal as defined by !=. More... | |
| template<typename T > | |
| bool | operator!= (const fvar< T > &x, double y) |
Return true if the value of the first argument is not equal to the second argument as defined by !=. More... | |
| template<typename T > | |
| bool | operator!= (double x, const fvar< T > &y) |
Return true if the first argument is not equal to the value of the second argument as defined by !=. More... | |
| template<typename T > | |
| fvar< T > | operator- (const fvar< T > &x1, const fvar< T > &x2) |
| Return the difference of the specified arguments. More... | |
| template<typename T > | |
| fvar< T > | operator- (double x1, const fvar< T > &x2) |
| Return the difference of the specified arguments. More... | |
| template<typename T > | |
| fvar< T > | operator- (const fvar< T > &x1, double x2) |
| Return the difference of the specified arguments. More... | |
| template<typename T > | |
| fvar< T > | operator- (const fvar< T > &x) |
| Return the negation of the specified argument. More... | |
| template<typename T > | |
| bool | operator! (const fvar< T > &x) |
Return the negation of the value of the argument as defined by !. More... | |
| template<typename T > | |
| fvar< T > | operator+ (const fvar< T > &x) |
| Returns the argument. More... | |
| template<typename T > | |
| fvar< T > | abs (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | acos (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | acosh (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | asin (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | asinh (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | atan (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | atan2 (const fvar< T > &x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | atan2 (double x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | atan2 (const fvar< T > &x1, double x2) |
| template<typename T > | |
| fvar< T > | atanh (const fvar< T > &x) |
| Return inverse hyperbolic tangent of specified value. More... | |
| template<typename T > | |
| fvar< T > | bessel_first_kind (int v, const fvar< T > &z) |
| template<typename T > | |
| fvar< T > | bessel_second_kind (int v, const fvar< T > &z) |
| template<typename T > | |
| fvar< T > | beta (const fvar< T > &x1, const fvar< T > &x2) |
| Return fvar with the beta function applied to the specified arguments and its gradient. More... | |
| template<typename T > | |
| fvar< T > | beta (double x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | beta (const fvar< T > &x1, double x2) |
| template<typename T > | |
| fvar< T > | binary_log_loss (int y, const fvar< T > &y_hat) |
| template<typename T > | |
| fvar< T > | cbrt (const fvar< T > &x) |
| Return cube root of specified argument. More... | |
| template<typename T > | |
| fvar< T > | ceil (const fvar< T > &x) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, 1, C1 > | columns_dot_product (const Eigen::Matrix< fvar< T >, R1, C1 > &v1, const Eigen::Matrix< fvar< T >, R2, C2 > &v2) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, 1, C1 > | columns_dot_product (const Eigen::Matrix< fvar< T >, R1, C1 > &v1, const Eigen::Matrix< double, R2, C2 > &v2) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, 1, C1 > | columns_dot_product (const Eigen::Matrix< double, R1, C1 > &v1, const Eigen::Matrix< fvar< T >, R2, C2 > &v2) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, 1, C > | columns_dot_self (const Eigen::Matrix< fvar< T >, R, C > &x) |
| template<typename T > | |
| fvar< T > | cos (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | cosh (const fvar< T > &x) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, C, C > | crossprod (const Eigen::Matrix< fvar< T >, R, C > &m) |
| template<typename T , int R, int C> | |
| fvar< T > | determinant (const Eigen::Matrix< fvar< T >, R, C > &m) |
| template<typename T > | |
| fvar< T > | digamma (const fvar< T > &x) |
| Return the derivative of the log gamma function at the specified argument. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, C > | divide (const Eigen::Matrix< fvar< T >, R, C > &v, const fvar< T > &c) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, C > | divide (const Eigen::Matrix< fvar< T >, R, C > &v, double c) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, C > | divide (const Eigen::Matrix< double, R, C > &v, const fvar< T > &c) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, C > | operator/ (const Eigen::Matrix< fvar< T >, R, C > &v, const fvar< T > &c) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, C > | operator/ (const Eigen::Matrix< fvar< T >, R, C > &v, double c) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, C > | operator/ (const Eigen::Matrix< double, R, C > &v, const fvar< T > &c) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| fvar< T > | dot_product (const Eigen::Matrix< fvar< T >, R1, C1 > &v1, const Eigen::Matrix< fvar< T >, R2, C2 > &v2) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| fvar< T > | dot_product (const Eigen::Matrix< fvar< T >, R1, C1 > &v1, const Eigen::Matrix< double, R2, C2 > &v2) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| fvar< T > | dot_product (const Eigen::Matrix< double, R1, C1 > &v1, const Eigen::Matrix< fvar< T >, R2, C2 > &v2) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| fvar< T > | dot_product (const Eigen::Matrix< fvar< T >, R1, C1 > &v1, const Eigen::Matrix< fvar< T >, R2, C2 > &v2, size_type &length) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| fvar< T > | dot_product (const Eigen::Matrix< fvar< T >, R1, C1 > &v1, const Eigen::Matrix< double, R2, C2 > &v2, size_type &length) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| fvar< T > | dot_product (const Eigen::Matrix< double, R1, C1 > &v1, const Eigen::Matrix< fvar< T >, R2, C2 > &v2, size_type &length) |
| template<typename T > | |
| fvar< T > | dot_product (const std::vector< fvar< T > > &v1, const std::vector< fvar< T > > &v2) |
| template<typename T > | |
| fvar< T > | dot_product (const std::vector< double > &v1, const std::vector< fvar< T > > &v2) |
| template<typename T > | |
| fvar< T > | dot_product (const std::vector< fvar< T > > &v1, const std::vector< double > &v2) |
| template<typename T > | |
| fvar< T > | dot_product (const std::vector< fvar< T > > &v1, const std::vector< fvar< T > > &v2, size_type &length) |
| template<typename T > | |
| fvar< T > | dot_product (const std::vector< double > &v1, const std::vector< fvar< T > > &v2, size_type &length) |
| template<typename T > | |
| fvar< T > | dot_product (const std::vector< fvar< T > > &v1, const std::vector< double > &v2, size_type &length) |
| template<typename T > | |
| fvar< T > | dot_product (const fvar< T > *v1, const fvar< T > *v2, size_type length) |
| Return dot product of specified pointers up to specified length. More... | |
| template<typename T > | |
| fvar< T > | dot_product (const double *v1, const fvar< T > *v2, size_type length) |
| Return dot product of specified pointers up to specified length. More... | |
| template<typename T > | |
| fvar< T > | dot_product (const fvar< T > *v1, const double *v2, size_type length) |
| Return dot product of specified pointers up to specified length. More... | |
| template<typename T , int R, int C> | |
| fvar< T > | dot_self (const Eigen::Matrix< fvar< T >, R, C > &v) |
| template<typename T > | |
| fvar< T > | erf (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | erfc (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | exp (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | exp2 (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | expm1 (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | fabs (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | falling_factorial (const fvar< T > &x, int n) |
| Return autodiff variable with the gradient and result of the falling factorial function applied to the inputs. More... | |
| template<typename T > | |
| fvar< T > | fdim (const fvar< T > &x, const fvar< T > &y) |
| Return the positive difference of the specified values (C++11). More... | |
| template<typename T > | |
| fvar< T > | fdim (const fvar< T > &x, double y) |
| Return the positive difference of the specified values (C++11). More... | |
| template<typename T > | |
| fvar< T > | fdim (double x, const fvar< T > &y) |
| Return the positive difference of the specified values (C++11). More... | |
| template<typename T > | |
| fvar< T > | floor (const fvar< T > &x) |
| template<typename T1 , typename T2 , typename T3 > | |
| fvar< return_type_t< T1, T2, T3 > > | fma (const fvar< T1 > &x1, const fvar< T2 > &x2, const fvar< T3 > &x3) |
| The fused multiply-add operation (C99). More... | |
| template<typename T1 , typename T2 , typename T3 > | |
| fvar< return_type_t< T1, T2, T3 > > | fma (const T1 &x1, const fvar< T2 > &x2, const fvar< T3 > &x3) |
| See all-var input signature for details on the function and derivatives. More... | |
| template<typename T1 , typename T2 , typename T3 > | |
| fvar< return_type_t< T1, T2, T3 > > | fma (const fvar< T1 > &x1, const T2 &x2, const fvar< T3 > &x3) |
| See all-var input signature for details on the function and derivatives. More... | |
| template<typename T1 , typename T2 , typename T3 > | |
| fvar< return_type_t< T1, T2, T3 > > | fma (const fvar< T1 > &x1, const fvar< T2 > &x2, const T3 &x3) |
| See all-var input signature for details on the function and derivatives. More... | |
| template<typename T1 , typename T2 , typename T3 > | |
| fvar< return_type_t< T1, T2, T3 > > | fma (const T1 &x1, const T2 &x2, const fvar< T3 > &x3) |
| See all-var input signature for details on the function and derivatives. More... | |
| template<typename T1 , typename T2 , typename T3 > | |
| fvar< return_type_t< T1, T2, T3 > > | fma (const fvar< T1 > &x1, const T2 &x2, const T3 &x3) |
| See all-var input signature for details on the function and derivatives. More... | |
| template<typename T1 , typename T2 , typename T3 > | |
| fvar< return_type_t< T1, T2, T3 > > | fma (const T1 &x1, const fvar< T2 > &x2, const T3 &x3) |
| See all-var input signature for details on the function and derivatives. More... | |
| template<typename T > | |
| fvar< T > | fmax (const fvar< T > &x1, const fvar< T > &x2) |
| Return the greater of the two specified arguments. More... | |
| template<typename T > | |
| fvar< T > | fmax (double x1, const fvar< T > &x2) |
| Return the greater of the two specified arguments. More... | |
| template<typename T > | |
| fvar< T > | fmax (const fvar< T > &x1, double x2) |
| Return the greater of the two specified arguments. More... | |
| template<typename T > | |
| fvar< T > | fmin (const fvar< T > &x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | fmin (double x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | fmin (const fvar< T > &x1, double x2) |
| template<typename T > | |
| fvar< T > | fmod (const fvar< T > &x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | fmod (const fvar< T > &x1, double x2) |
| template<typename T > | |
| fvar< T > | fmod (double x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | gamma_p (const fvar< T > &x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | gamma_p (const fvar< T > &x1, double x2) |
| template<typename T > | |
| fvar< T > | gamma_p (double x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | gamma_q (const fvar< T > &x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | gamma_q (const fvar< T > &x1, double x2) |
| template<typename T > | |
| fvar< T > | gamma_q (double x1, const fvar< T > &x2) |
| template<typename T > | |
| void | grad_inc_beta (fvar< T > &g1, fvar< T > &g2, fvar< T > a, fvar< T > b, fvar< T > z) |
| Gradient of the incomplete beta function beta(a, b, z) with respect to the first two arguments. More... | |
| template<typename T > | |
| fvar< T > | hypot (const fvar< T > &x1, const fvar< T > &x2) |
| Return the length of the hypotenuse of a right triangle with opposite and adjacent side lengths given by the specified arguments (C++11). More... | |
| template<typename T > | |
| fvar< T > | hypot (const fvar< T > &x1, double x2) |
| Return the length of the hypotenuse of a right triangle with opposite and adjacent side lengths given by the specified arguments (C++11). More... | |
| template<typename T > | |
| fvar< T > | hypot (double x1, const fvar< T > &x2) |
| Return the length of the hypotenuse of a right triangle with opposite and adjacent side lengths given by the specified arguments (C++11). More... | |
| template<typename T > | |
| fvar< T > | inc_beta (const fvar< T > &a, const fvar< T > &b, const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | inc_beta (double a, const fvar< T > &b, const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | inc_beta (const fvar< T > &a, double b, const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | inc_beta (const fvar< T > &a, const fvar< T > &b, double x) |
| template<typename T > | |
| fvar< T > | inc_beta (double a, double b, const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | inc_beta (const fvar< T > &a, double b, double x) |
| template<typename T > | |
| fvar< T > | inc_beta (double a, const fvar< T > &b, double x) |
| template<typename T > | |
| fvar< T > | inv (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | inv_cloglog (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | inv_logit (const fvar< T > &x) |
| Returns the inverse logit function applied to the argument. More... | |
| template<typename T > | |
| fvar< T > | inv_Phi (const fvar< T > &p) |
| template<typename T > | |
| fvar< T > | inv_sqrt (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | inv_square (const fvar< T > &x) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, C > | inverse (const Eigen::Matrix< fvar< T >, R, C > &m) |
| template<typename T > | |
| int | is_inf (const fvar< T > &x) |
| Returns 1 if the input's value is infinite and 0 otherwise. More... | |
| template<typename T , require_fvar_t< T > ...> | |
| bool | is_nan (T &&x) |
| Returns 1 if the input's value is NaN and 0 otherwise. More... | |
| template<typename T > | |
| fvar< T > | lbeta (const fvar< T > &x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | lbeta (double x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | lbeta (const fvar< T > &x1, double x2) |
| template<typename T > | |
| fvar< T > | ldexp (const fvar< T > &a, int b) |
| Returns the product of a (the significand) times 2 to power b (the exponent). More... | |
| template<typename T > | |
| fvar< T > | lgamma (const fvar< T > &x) |
| Return the natural logarithm of the gamma function applied to the specified argument. More... | |
| template<typename T > | |
| fvar< return_type_t< T, int > > | lmgamma (int x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | log (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | log10 (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | log1m (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | log1m_exp (const fvar< T > &x) |
| Return the natural logarithm of one minus the exponentiation of the specified argument. More... | |
| template<typename T > | |
| fvar< T > | log1m_inv_logit (const fvar< T > &x) |
| Return the natural logarithm of one minus the inverse logit of the specified argument. More... | |
| template<typename T > | |
| fvar< T > | log1p (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | log1p_exp (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | log2 (const fvar< T > &x) |
| Return the base two logarithm of the specified argument. More... | |
| template<typename T , int R, int C> | |
| fvar< T > | log_determinant (const Eigen::Matrix< fvar< T >, R, C > &m) |
| template<typename T > | |
| fvar< T > | log_diff_exp (const fvar< T > &x1, const fvar< T > &x2) |
| template<typename T1 , typename T2 > | |
| fvar< T2 > | log_diff_exp (const T1 &x1, const fvar< T2 > &x2) |
| template<typename T1 , typename T2 > | |
| fvar< T1 > | log_diff_exp (const fvar< T1 > &x1, const T2 &x2) |
| template<typename T > | |
| fvar< T > | log_falling_factorial (const fvar< T > &x, const fvar< T > &n) |
| template<typename T > | |
| fvar< T > | log_falling_factorial (double x, const fvar< T > &n) |
| template<typename T > | |
| fvar< T > | log_falling_factorial (const fvar< T > &x, double n) |
| template<typename T > | |
| fvar< T > | log_inv_logit (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | log_inv_logit_diff (const fvar< T > &x, const fvar< T > &y) |
| Returns fvar with the natural logarithm of the difference of the inverse logits of the specified arguments and its gradients. More... | |
| template<typename T > | |
| fvar< T > | log_inv_logit_diff (const fvar< T > &x, double y) |
| template<typename T > | |
| fvar< T > | log_inv_logit_diff (double x, const fvar< T > &y) |
| template<typename T_theta , typename T_lambda1 , typename T_lambda2 , int N> | |
| void | log_mix_partial_helper (const T_theta &theta, const T_lambda1 &lambda1, const T_lambda2 &lambda2, promote_args_t< T_theta, T_lambda1, T_lambda2 >(&partials_array)[N]) |
| template<typename T > | |
| fvar< T > | log_mix (const fvar< T > &theta, const fvar< T > &lambda1, const fvar< T > &lambda2) |
| Return the log mixture density with specified mixing proportion and log densities and its derivative at each. More... | |
| template<typename T , typename P , require_all_arithmetic_t< P > ...> | |
| fvar< T > | log_mix (const fvar< T > &theta, const fvar< T > &lambda1, P lambda2) |
| template<typename T , typename P , require_all_arithmetic_t< P > ...> | |
| fvar< T > | log_mix (const fvar< T > &theta, P lambda1, const fvar< T > &lambda2) |
| template<typename T , typename P , require_all_arithmetic_t< P > ...> | |
| fvar< T > | log_mix (P theta, const fvar< T > &lambda1, const fvar< T > &lambda2) |
| template<typename T , typename P1 , typename P2 , require_all_arithmetic_t< P1, P2 > ...> | |
| fvar< T > | log_mix (const fvar< T > &theta, P1 lambda1, P2 lambda2) |
| template<typename T , typename P1 , typename P2 , require_all_arithmetic_t< P1, P2 > ...> | |
| fvar< T > | log_mix (P1 theta, const fvar< T > &lambda1, P2 lambda2) |
| template<typename T , typename P1 , typename P2 , require_all_arithmetic_t< P1, P2 > ...> | |
| fvar< T > | log_mix (P1 theta, P2 lambda1, const fvar< T > &lambda2) |
| template<typename T > | |
| fvar< T > | log_rising_factorial (const fvar< T > &x, const fvar< T > &n) |
| template<typename T > | |
| fvar< T > | log_rising_factorial (const fvar< T > &x, double n) |
| template<typename T > | |
| fvar< T > | log_rising_factorial (double x, const fvar< T > &n) |
| template<typename T , require_t< is_fvar< scalar_type_t< T >>> ...> | |
| auto | log_softmax (const T &x) |
| Return the log softmax of the specified vector or container of vectors. More... | |
| template<typename T > | |
| fvar< T > | log_sum_exp (const fvar< T > &x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | log_sum_exp (double x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | log_sum_exp (const fvar< T > &x1, double x2) |
| template<typename T , require_t< is_fvar< scalar_type_t< T >>> ...> | |
| auto | log_sum_exp (const T &x) |
| Return the log of the sum of the exponentiated values of the specified matrix of values. More... | |
| template<typename T > | |
| fvar< T > | logit (const fvar< T > &x) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C2 > | mdivide_left (const Eigen::Matrix< fvar< T >, R1, C1 > &A, const Eigen::Matrix< fvar< T >, R2, C2 > &b) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C2 > | mdivide_left (const Eigen::Matrix< double, R1, C1 > &A, const Eigen::Matrix< fvar< T >, R2, C2 > &b) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C2 > | mdivide_left (const Eigen::Matrix< fvar< T >, R1, C1 > &A, const Eigen::Matrix< double, R2, C2 > &b) |
| template<int R1, int C1, int R2, int C2, typename T2 > | |
| Eigen::Matrix< fvar< T2 >, R1, C2 > | mdivide_left_ldlt (const LDLT_factor< double, R1, C1 > &A, const Eigen::Matrix< fvar< T2 >, R2, C2 > &b) |
| Returns the solution of the system Ax=b given an LDLT_factor of A. More... | |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C1 > | mdivide_left_tri_low (const Eigen::Matrix< fvar< T >, R1, C1 > &A, const Eigen::Matrix< fvar< T >, R2, C2 > &b) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C1 > | mdivide_left_tri_low (const Eigen::Matrix< double, R1, C1 > &A, const Eigen::Matrix< fvar< T >, R2, C2 > &b) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C1 > | mdivide_left_tri_low (const Eigen::Matrix< fvar< T >, R1, C1 > &A, const Eigen::Matrix< double, R2, C2 > &b) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C2 > | mdivide_right (const Eigen::Matrix< fvar< T >, R1, C1 > &A, const Eigen::Matrix< fvar< T >, R2, C2 > &b) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C2 > | mdivide_right (const Eigen::Matrix< fvar< T >, R1, C1 > &A, const Eigen::Matrix< double, R2, C2 > &b) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C2 > | mdivide_right (const Eigen::Matrix< double, R1, C1 > &A, const Eigen::Matrix< fvar< T >, R2, C2 > &b) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C1 > | mdivide_right_tri_low (const Eigen::Matrix< fvar< T >, R1, C1 > &A, const Eigen::Matrix< fvar< T >, R2, C2 > &b) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C2 > | mdivide_right_tri_low (const Eigen::Matrix< fvar< T >, R1, C1 > &A, const Eigen::Matrix< double, R2, C2 > &b) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C2 > | mdivide_right_tri_low (const Eigen::Matrix< double, R1, C1 > &A, const Eigen::Matrix< fvar< T >, R2, C2 > &b) |
| template<typename T > | |
| fvar< T > | modified_bessel_first_kind (int v, const fvar< T > &z) |
| template<typename T > | |
| fvar< T > | modified_bessel_second_kind (int v, const fvar< T > &z) |
| template<typename T , int R1, int C1> | |
| Eigen::Matrix< fvar< T >, R1, C1 > | multiply (const Eigen::Matrix< fvar< T >, R1, C1 > &m, const fvar< T > &c) |
| template<typename T , int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R2, C2 > | multiply (const Eigen::Matrix< fvar< T >, R2, C2 > &m, double c) |
| template<typename T , int R1, int C1> | |
| Eigen::Matrix< fvar< T >, R1, C1 > | multiply (const Eigen::Matrix< double, R1, C1 > &m, const fvar< T > &c) |
| template<typename T , int R1, int C1> | |
| Eigen::Matrix< fvar< T >, R1, C1 > | multiply (const fvar< T > &c, const Eigen::Matrix< fvar< T >, R1, C1 > &m) |
| template<typename T , int R1, int C1> | |
| Eigen::Matrix< fvar< T >, R1, C1 > | multiply (double c, const Eigen::Matrix< fvar< T >, R1, C1 > &m) |
| template<typename T , int R1, int C1> | |
| Eigen::Matrix< fvar< T >, R1, C1 > | multiply (const fvar< T > &c, const Eigen::Matrix< double, R1, C1 > &m) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C2 > | multiply (const Eigen::Matrix< fvar< T >, R1, C1 > &m1, const Eigen::Matrix< fvar< T >, R2, C2 > &m2) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C2 > | multiply (const Eigen::Matrix< fvar< T >, R1, C1 > &m1, const Eigen::Matrix< double, R2, C2 > &m2) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, C2 > | multiply (const Eigen::Matrix< double, R1, C1 > &m1, const Eigen::Matrix< fvar< T >, R2, C2 > &m2) |
| template<typename T , int C1, int R2> | |
| fvar< T > | multiply (const Eigen::Matrix< fvar< T >, 1, C1 > &rv, const Eigen::Matrix< fvar< T >, R2, 1 > &v) |
| template<typename T , int C1, int R2> | |
| fvar< T > | multiply (const Eigen::Matrix< fvar< T >, 1, C1 > &rv, const Eigen::Matrix< double, R2, 1 > &v) |
| template<typename T , int C1, int R2> | |
| fvar< T > | multiply (const Eigen::Matrix< double, 1, C1 > &rv, const Eigen::Matrix< fvar< T >, R2, 1 > &v) |
| template<typename T > | |
| fvar< T > | multiply_log (const fvar< T > &x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | multiply_log (double x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | multiply_log (const fvar< T > &x1, double x2) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, R > | multiply_lower_tri_self_transpose (const Eigen::Matrix< fvar< T >, R, C > &m) |
| template<typename T > | |
| fvar< T > | owens_t (const fvar< T > &x1, const fvar< T > &x2) |
| Return Owen's T function applied to the specified arguments. More... | |
| template<typename T > | |
| fvar< T > | owens_t (double x1, const fvar< T > &x2) |
| Return Owen's T function applied to the specified arguments. More... | |
| template<typename T > | |
| fvar< T > | owens_t (const fvar< T > &x1, double x2) |
| Return Owen's T function applied to the specified arguments. More... | |
| template<typename T > | |
| fvar< T > | Phi (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | Phi_approx (const fvar< T > &x) |
| Return an approximation of the unit normal cumulative distribution function (CDF). More... | |
| template<typename T > | |
| fvar< T > | pow (const fvar< T > &x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | pow (double x1, const fvar< T > &x2) |
| template<typename T > | |
| fvar< T > | pow (const fvar< T > &x1, double x2) |
| template<typename T > | |
| double | primitive_value (const fvar< T > &v) |
| Return the primitive value of the specified forward-mode autodiff variable. More... | |
| template<typename T > | |
| Eigen::Matrix< fvar< T >, Eigen::Dynamic, Eigen::Dynamic > | qr_Q (const Eigen::Matrix< fvar< T >, Eigen::Dynamic, Eigen::Dynamic > &m) |
| template<typename T > | |
| Eigen::Matrix< fvar< T >, Eigen::Dynamic, Eigen::Dynamic > | qr_R (const Eigen::Matrix< fvar< T >, Eigen::Dynamic, Eigen::Dynamic > &m) |
| template<int RA, int CA, int RB, int CB, typename T > | |
| Eigen::Matrix< fvar< T >, CB, CB > | quad_form_sym (const Eigen::Matrix< fvar< T >, RA, CA > &A, const Eigen::Matrix< double, RB, CB > &B) |
| template<int RA, int CA, int RB, typename T > | |
| fvar< T > | quad_form_sym (const Eigen::Matrix< fvar< T >, RA, CA > &A, const Eigen::Matrix< double, RB, 1 > &B) |
| template<int RA, int CA, int RB, int CB, typename T > | |
| Eigen::Matrix< fvar< T >, CB, CB > | quad_form_sym (const Eigen::Matrix< double, RA, CA > &A, const Eigen::Matrix< fvar< T >, RB, CB > &B) |
| template<int RA, int CA, int RB, typename T > | |
| fvar< T > | quad_form_sym (const Eigen::Matrix< double, RA, CA > &A, const Eigen::Matrix< fvar< T >, RB, 1 > &B) |
| template<typename T > | |
| fvar< T > | rising_factorial (const fvar< T > &x, int n) |
| Return autodiff variable with the gradient and result of the rising factorial function applied to the inputs. More... | |
| template<typename T > | |
| fvar< T > | round (const fvar< T > &x) |
| Return the closest integer to the specified argument, with halfway cases rounded away from zero. More... | |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, 1 > | rows_dot_product (const Eigen::Matrix< fvar< T >, R1, C1 > &v1, const Eigen::Matrix< fvar< T >, R2, C2 > &v2) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, 1 > | rows_dot_product (const Eigen::Matrix< double, R1, C1 > &v1, const Eigen::Matrix< fvar< T >, R2, C2 > &v2) |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< fvar< T >, R1, 1 > | rows_dot_product (const Eigen::Matrix< fvar< T >, R1, C1 > &v1, const Eigen::Matrix< double, R2, C2 > &v2) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, 1 > | rows_dot_self (const Eigen::Matrix< fvar< T >, R, C > &x) |
| template<typename T > | |
| fvar< T > | sin (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | sinh (const fvar< T > &x) |
| template<typename T > | |
| Eigen::Matrix< fvar< T >, Eigen::Dynamic, 1 > | softmax (const Eigen::Matrix< fvar< T >, Eigen::Dynamic, 1 > &alpha) |
| template<typename T > | |
| fvar< T > | sqrt (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | square (const fvar< T > &x) |
| template<typename T , int R, int C> | |
| fvar< T > | squared_distance (const Eigen::Matrix< fvar< T >, R, C > &v1, const Eigen::Matrix< double, R, C > &v2) |
| Returns the squared distance between the specified vectors of the same dimensions. More... | |
| template<typename T , int R1, int C1, int R2, int C2> | |
| fvar< T > | squared_distance (const Eigen::Matrix< fvar< T >, R1, C1 > &v1, const Eigen::Matrix< double, R2, C2 > &v2) |
| Returns the squared distance between the specified vectors of the same dimensions. More... | |
| template<typename T , int R, int C> | |
| fvar< T > | squared_distance (const Eigen::Matrix< double, R, C > &v1, const Eigen::Matrix< fvar< T >, R, C > &v2) |
| Returns the squared distance between the specified vectors of the same dimensions. More... | |
| template<typename T , int R1, int C1, int R2, int C2> | |
| fvar< T > | squared_distance (const Eigen::Matrix< double, R1, C1 > &v1, const Eigen::Matrix< fvar< T >, R2, C2 > &v2) |
| Returns the squared distance between the specified vectors of the same dimensions. More... | |
| template<typename T , int R, int C> | |
| fvar< T > | squared_distance (const Eigen::Matrix< fvar< T >, R, C > &v1, const Eigen::Matrix< fvar< T >, R, C > &v2) |
| Returns the squared distance between the specified vectors of the same dimensions. More... | |
| template<typename T , int R1, int C1, int R2, int C2> | |
| fvar< T > | squared_distance (const Eigen::Matrix< fvar< T >, R1, C1 > &v1, const Eigen::Matrix< fvar< T >, R2, C2 > &v2) |
| Returns the squared distance between the specified vectors of the same dimensions. More... | |
| template<typename T > | |
| fvar< T > | sum (const std::vector< fvar< T > > &m) |
| Return the sum of the entries of the specified standard vector. More... | |
| template<typename T , int R, int C> | |
| fvar< T > | sum (const Eigen::Matrix< fvar< T >, R, C > &m) |
| Return the sum of the entries of the specified matrix. More... | |
| template<typename T > | |
| fvar< T > | tan (const fvar< T > &x) |
| template<typename T > | |
| fvar< T > | tanh (const fvar< T > &x) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, R > | tcrossprod (const Eigen::Matrix< fvar< T >, R, C > &m) |
| template<typename T > | |
| fvar< T > | tgamma (const fvar< T > &x) |
| Return the result of applying the gamma function to the specified argument. More... | |
| template<typename T > | |
| fvar< T > | to_fvar (const T &x) |
| template<typename T > | |
| const fvar< T > & | to_fvar (const fvar< T > &x) |
| Specialization of to_fvar for const fvars. More... | |
| template<typename T > | |
| fvar< T > & | to_fvar (fvar< T > &x) |
| Specialization of to_fvar for non-const fvars. More... | |
| template<typename T > | |
| std::vector< fvar< T > > | to_fvar (const std::vector< T > &v) |
| template<typename T > | |
| std::vector< fvar< T > > | to_fvar (const std::vector< T > &v, const std::vector< T > &d) |
| template<typename T > | |
| const std::vector< fvar< T > > & | to_fvar (const std::vector< fvar< T >> &v) |
| Specialization of to_fvar for const fvar input. More... | |
| template<typename T > | |
| std::vector< fvar< T > > & | to_fvar (std::vector< fvar< T >> &v) |
| Specialization of to_fvar for non-const fvar input. More... | |
| template<typename T , int R, int C> | |
| const Eigen::Matrix< T, R, C > & | to_fvar (const Eigen::Matrix< T, R, C > &m) |
| Specialization of to_fvar for const matrices of fvars. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, R, C > & | to_fvar (Eigen::Matrix< T, R, C > &m) |
| Specialization of to_fvar for non-const matrices of fvars. More... | |
| template<int R, int C> | |
| Eigen::Matrix< fvar< double >, R, C > | to_fvar (const Eigen::Matrix< double, R, C > &m) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, C > | to_fvar (const Eigen::Matrix< T, R, C > &val, const Eigen::Matrix< T, R, C > &deriv) |
| template<int RA, int CA, int RB, int CB, typename T > | |
| fvar< T > | trace_quad_form (const Eigen::Matrix< fvar< T >, RA, CA > &A, const Eigen::Matrix< fvar< T >, RB, CB > &B) |
| template<int RA, int CA, int RB, int CB, typename T > | |
| fvar< T > | trace_quad_form (const Eigen::Matrix< fvar< T >, RA, CA > &A, const Eigen::Matrix< double, RB, CB > &B) |
| template<int RA, int CA, int RB, int CB, typename T > | |
| fvar< T > | trace_quad_form (const Eigen::Matrix< double, RA, CA > &A, const Eigen::Matrix< fvar< T >, RB, CB > &B) |
| template<typename T > | |
| fvar< T > | trigamma (const fvar< T > &u) |
| Return the value of the trigamma function at the specified argument (i.e., the second derivative of the log Gamma function at the specified argument). More... | |
| template<typename T > | |
| fvar< T > | trunc (const fvar< T > &x) |
| Return the nearest integral value that is not larger in magnitude than the specified argument. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, C > | unit_vector_constrain (const Eigen::Matrix< fvar< T >, R, C > &y) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< fvar< T >, R, C > | unit_vector_constrain (const Eigen::Matrix< fvar< T >, R, C > &y, fvar< T > &lp) |
| template<typename T > | |
| T | value_of (const fvar< T > &v) |
| Return the value of the specified variable. More... | |
| template<typename T > | |
| double | value_of_rec (const fvar< T > &v) |
| Return the value of the specified variable. More... | |
| template<typename T , typename F > | |
| void | gradient (const F &f, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, T &fx, Eigen::Matrix< T, Eigen::Dynamic, 1 > &grad_fx) |
| Calculate the value and the gradient of the specified function at the specified argument. More... | |
| template<typename T , typename F > | |
| void | hessian (const F &f, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, T &fx, Eigen::Matrix< T, Eigen::Dynamic, 1 > &grad, Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &H) |
| Calculate the value, the gradient, and the Hessian, of the specified function at the specified argument in time O(N^3) time and O(N^2) space. More... | |
| template<typename T , typename F > | |
| void | jacobian (const F &f, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, Eigen::Matrix< T, Eigen::Dynamic, 1 > &fx, Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &J) |
| template<typename T > | |
| bool | is_aligned (T *ptr, unsigned int bytes_aligned) |
Return true if the specified pointer is aligned on the number of bytes. More... | |
| template<typename T , typename F > | |
| void | derivative (const F &f, const T &x, T &fx, T &dfx_dx) |
| Return the derivative of the specified univariate function at the specified argument. More... | |
| template<typename F > | |
| void | finite_diff_grad_hessian (const F &f, const Eigen::VectorXd &x, double &fx, Eigen::MatrixXd &hess, std::vector< Eigen::MatrixXd > &grad_hess_fx, double epsilon=1e-04) |
| Calculate the value and the gradient of the hessian of the specified function at the specified argument using second-order autodiff and first-order finite difference. More... | |
| template<typename F > | |
| void | finite_diff_grad_hessian_auto (const F &f, const Eigen::VectorXd &x, double &fx, Eigen::MatrixXd &hess, std::vector< Eigen::MatrixXd > &grad_hess_fx) |
| Calculate the value, Hessian, and the gradient of the Hessian of the specified function at the specified argument using second-order autodiff and first-order finite difference. More... | |
| template<typename F > | |
| void | grad_hessian (const F &f, const Eigen::Matrix< double, Eigen::Dynamic, 1 > &x, double &fx, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > &H, std::vector< Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > &grad_H) |
| Calculate the value, the Hessian, and the gradient of the Hessian of the specified function at the specified argument. More... | |
| template<typename F > | |
| void | grad_tr_mat_times_hessian (const F &f, const Eigen::Matrix< double, Eigen::Dynamic, 1 > &x, const Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > &M, Eigen::Matrix< double, Eigen::Dynamic, 1 > &grad_tr_MH) |
| template<typename T1 , typename T2 , typename F > | |
| void | gradient_dot_vector (const F &f, const Eigen::Matrix< T1, Eigen::Dynamic, 1 > &x, const Eigen::Matrix< T2, Eigen::Dynamic, 1 > &v, T1 &fx, T1 &grad_fx_dot_v) |
| template<typename F > | |
| void | hessian (const F &f, const Eigen::Matrix< double, Eigen::Dynamic, 1 > &x, double &fx, Eigen::Matrix< double, Eigen::Dynamic, 1 > &grad, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > &H) |
| Calculate the value, the gradient, and the Hessian, of the specified function at the specified argument in O(N^2) time and O(N^2) space. More... | |
| template<typename F > | |
| void | hessian_times_vector (const F &f, const Eigen::Matrix< double, Eigen::Dynamic, 1 > &x, const Eigen::Matrix< double, Eigen::Dynamic, 1 > &v, double &fx, Eigen::Matrix< double, Eigen::Dynamic, 1 > &Hv) |
| template<typename T , typename F > | |
| void | hessian_times_vector (const F &f, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &v, T &fx, Eigen::Matrix< T, Eigen::Dynamic, 1 > &Hv) |
| template<typename T , typename F > | |
| void | partial_derivative (const F &f, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, int n, T &fx, T &dfx_dxn) |
| Return the partial derivative of the specified multivariate function at the specified argument. More... | |
| template<typename Mat , typename Mat_scalar = scalar_type_t<Mat>, require_eigen_vt< std::is_arithmetic, Mat > ...> | |
| matrix_cl< Mat_scalar > | to_matrix_cl (Mat &&src) |
| Copies the source Eigen matrix to the destination matrix that is stored on the OpenCL device. More... | |
| template<typename Vec , typename Vec_scalar = scalar_type_t<Vec>, require_std_vector_vt< std::is_arithmetic, Vec > ...> | |
| matrix_cl< Vec_scalar > | to_matrix_cl (Vec &&src) |
Copies the source std::vector to the destination matrix that is stored on the OpenCL device. More... | |
| template<int R = Eigen::Dynamic, int C = Eigen::Dynamic, typename T , typename = require_arithmetic_t<T>> | |
| Eigen::Matrix< T, R, C > | from_matrix_cl (const matrix_cl< T > &src) |
| Copies the source matrix that is stored on the OpenCL device to the destination Eigen matrix. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| std::vector< T > | packed_copy (const matrix_cl< T > &src) |
| Packs the flat triangular matrix on the OpenCL device and copies it to the std::vector. More... | |
| template<matrix_cl_view matrix_view, typename Vec , typename Vec_scalar = scalar_type_t<Vec>, require_vector_vt< std::is_arithmetic, Vec > ...> | |
| matrix_cl< Vec_scalar > | packed_copy (Vec &&src, int rows) |
| Copies the packed triangular matrix from the source std::vector to an OpenCL buffer and unpacks it to a flat matrix on the OpenCL device. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| matrix_cl< T > | copy_cl (const matrix_cl< T > &src) |
| Copies the source matrix to the destination matrix. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| T | from_matrix_cl_error_code (const matrix_cl< T > &src) |
| Copy A 1 by 1 source matrix from the Device to the host. More... | |
| template<typename T , typename = require_arithmetic_t<std::decay_t<T>>> | |
| matrix_cl< std::decay_t< T > > | to_matrix_cl (T &&src) |
| Copy an arithmetic type to the device. More... | |
| template<matrix_cl_view matrix_view = matrix_cl_view::Entire, typename T , typename = require_arithmetic_t<T>> | |
| matrix_cl< T > | copy_triangular (const matrix_cl< T > &src) |
| Copies the lower or upper triangular of the source matrix to the destination matrix. More... | |
| template<typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| matrix_cl< return_type_t< T1, T2 > > | diagonal_multiply (const matrix_cl< T1 > &A, const T2 scalar) |
| Multiplies the diagonal of a matrix on the OpenCL device with the specified scalar. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| void | check_diagonal_zeros (const char *function, const char *name, const matrix_cl< T > &y) |
Check if the matrix_cl has zeros on the diagonal. More... | |
| template<typename T > | |
| void | check_invalid_matrix_view (const char *function, const char *name, const matrix_cl< T > &A, const matrix_cl_view invalid_view) |
Check if the matrix_cl has an invalid view. More... | |
| template<typename T > | |
| void | check_mat_size_one (const char *function, const char *name, const matrix_cl< T > &A) |
Check if the matrix_cl has a single element. More... | |
| template<typename T > | |
| void | check_mat_not_size_one (const char *function, const char *name, const matrix_cl< T > &A) |
Check if the matrix_cl has a single element. More... | |
| template<typename T > | |
| void | check_matching_dims (const char *function, const char *name1, const matrix_cl< T > &y1, const char *name2, const matrix_cl< T > &y2) |
Check if two matrix_cls have the same dimensions. More... | |
| template<typename T , typename = require_floating_point_t<T>> | |
| void | check_nan (const char *function, const char *name, const matrix_cl< T > &y) |
Check if the matrix_cl has NaN values. More... | |
| void | check_opencl_error (const char *function, const cl::Error &e) |
| Throws the domain error with specifying the OpenCL error that occurred. More... | |
| template<typename T > | |
| void | check_square (const char *function, const char *name, const matrix_cl< T > &y) |
Check if the matrix_cl is square. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| void | check_symmetric (const char *function, const char *name, const matrix_cl< T > &y) |
Check if the matrix_cl is symmetric. More... | |
| template<typename T > | |
| void | check_triangular (const char *function, const char *name, const matrix_cl< T > &A) |
Check if the matrix_cl is either upper triangular or lower triangular. More... | |
| template<typename T > | |
| void | check_vector (const char *function, const char *name, const matrix_cl< T > &x) |
| Check if the matrix is either a row vector or column vector. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| matrix_cl< T > | identity (int rows_cols) |
| Returns the identity matrix stored on the OpenCL device. More... | |
| template<typename T_operation , typename = std::enable_if_t<std::is_base_of< operation_cl_base, std::remove_reference_t<T_operation>>::value>> | |
| T_operation && | as_operation_cl (T_operation &&a) |
| Converts any valid kernel generator expression into an operation. More... | |
| template<typename T_scalar , typename = require_arithmetic_t<T_scalar>> | |
| scalar_< T_scalar > | as_operation_cl (const T_scalar a) |
| Converts any valid kernel generator expression into an operation. More... | |
| template<typename T_matrix_cl , typename = require_matrix_cl_t<T_matrix_cl>> | |
| load_< T_matrix_cl > | as_operation_cl (T_matrix_cl &&a) |
| Converts any valid kernel generator expression into an operation. More... | |
| ADD_BINARY_OPERATION (addition_, operator+, common_scalar_t< T_a COMMA T_b >, "+") | |
| ADD_BINARY_OPERATION (subtraction_, operator-, common_scalar_t< T_a COMMA T_b >, "-") | |
| ADD_BINARY_OPERATION_WITH_CUSTOM_VIEW (elewise_multiplication_, elewise_multiplication, common_scalar_t< T_a COMMA T_b >, "*", using base=binary_operation< elewise_multiplication_< T_a, T_b >, common_scalar_t< T_a, T_b >, T_a, T_b >;return both(std::get< 0 >(base::arguments_).view(), std::get< 1 >(base::arguments_).view());) | |
| ADD_BINARY_OPERATION_WITH_CUSTOM_VIEW (elewise_division_, elewise_division, common_scalar_t< T_a COMMA T_b >, "/", using base=binary_operation< elewise_division_< T_a, T_b >, common_scalar_t< T_a, T_b >, T_a, T_b >;return either(std::get< 0 >(base::arguments_).view(), invert(std::get< 1 >(base::arguments_).view()));) | |
| ADD_BINARY_OPERATION (less_than_, operator<, bool, "<") | |
| ADD_BINARY_OPERATION_WITH_CUSTOM_VIEW (less_than_or_equal_, operator<=, bool, "<=", return matrix_cl_view::Entire) | |
| ADD_BINARY_OPERATION (greater_than_, operator>, bool, ">") | |
| ADD_BINARY_OPERATION_WITH_CUSTOM_VIEW (greater_than_or_equal_, operator>=, bool, ">=", return matrix_cl_view::Entire) | |
| ADD_BINARY_OPERATION_WITH_CUSTOM_VIEW (equals_, operator==, bool, "==", return matrix_cl_view::Entire) | |
| ADD_BINARY_OPERATION (not_equals_, operator!=, bool, "!=") | |
| ADD_BINARY_OPERATION (logical_or_, operator||, bool, "||") | |
| ADD_BINARY_OPERATION (logical_and_, operator&&, bool, "&&") | |
| template<typename T_a , typename T_b , typename = require_arithmetic_t<T_a>, typename = require_all_valid_expressions_t<T_b>> | |
| elewise_multiplication_< scalar_< T_a >, as_operation_cl_t< T_b > > | operator* (T_a &&a, T_b &&b) |
| Multiplication of a scalar and a kernel generator expression. More... | |
| template<typename T_a , typename T_b , typename = require_all_valid_expressions_t<T_a>, typename = require_arithmetic_t<T_b>> | |
| elewise_multiplication_< as_operation_cl_t< T_a >, scalar_< T_b > > | operator* (T_a &&a, const T_b b) |
| Multiplication of a kernel generator expression and a scalar. More... | |
| template<typename T_a , typename T_b , typename = require_all_valid_expressions_and_none_scalar_t<T_a, T_b>> | |
| matrix_cl< double > | operator* (const T_a &a, const T_b &b) |
| Matrix multiplication of two kernel generator expressions. More... | |
| template<typename T , typename = require_all_valid_expressions_and_none_scalar_t<T>> | |
| block_< as_operation_cl_t< T > > | block (T &&a, int start_row, int start_col, int rows, int cols) |
| Block of a kernel generator expression. More... | |
| template<typename T , typename = require_all_valid_expressions_and_none_scalar_t<T>> | |
| rowwise_sum_< as_operation_cl_t< T > > | rowwise_sum (T &&a) |
| Rowwise sum reduction of a kernel generator expression. More... | |
| template<typename T , typename = require_all_valid_expressions_and_none_scalar_t<T>> | |
| rowwise_max_< as_operation_cl_t< T > > | rowwise_max (T &&a) |
| Rowwise max reduction of a kernel generator expression. More... | |
| template<typename T , typename = require_all_valid_expressions_and_none_scalar_t<T>> | |
| rowwise_min_< as_operation_cl_t< T > > | rowwise_min (T &&a) |
| Min reduction of a kernel generator expression. More... | |
| template<typename T_condition , typename T_then , typename T_else , typename = require_all_valid_expressions_t<T_condition, T_then, T_else>> | |
| select_< as_operation_cl_t< T_condition >, as_operation_cl_t< T_then >, as_operation_cl_t< T_else > > | select (T_condition &&condition, T_then &&then, T_else &&els) |
| Selection operation on kernel generator expressions. More... | |
| const matrix_cl_view | either (const matrix_cl_view left_view, const matrix_cl_view right_view) |
| Determines which parts are nonzero in any of the input views. More... | |
| const matrix_cl_view | both (const matrix_cl_view left_view, const matrix_cl_view right_view) |
| Determines which parts are nonzero in both input views. More... | |
| bool | contains_nonzero (const matrix_cl_view view, const matrix_cl_view part) |
| Check whether a view contains certain nonzero part. More... | |
| const matrix_cl_view | transpose (const matrix_cl_view view) |
| Transposes a view - swaps lower and upper parts. More... | |
| const matrix_cl_view | invert (const matrix_cl_view view) |
| Inverts a view. More... | |
| matrix_cl_view | from_eigen_uplo_type (Eigen::UpLoType eigen_type) |
Creates a view from Eigen::UpLoType. More... | |
| int | either (int left_view, int right_view) |
| Determines which parts are nonzero in any of the input views. More... | |
| int | both (int left_view, int right_view) |
| Determines which parts are nonzero in both input views. More... | |
| bool | contains_nonzero (int view, int part) |
| Check whether a view contains certain nonzero part. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| matrix_cl< T > | multiply_transpose (const matrix_cl< T > &A) |
| Computes the product of a square OpenCL matrix with its transpose. More... | |
| template<bool propto, typename T_alpha , typename T_beta > | |
| return_type_t< T_alpha, T_beta > | bernoulli_logit_glm_lpmf (const matrix_cl< int > &y_cl, const matrix_cl< double > &x_cl, const T_alpha &alpha, const T_beta &beta) |
| Returns the log PMF of the Generalized Linear Model (GLM) with Bernoulli distribution and logit link function. More... | |
| template<typename T_alpha , typename T_beta > | |
| return_type_t< T_beta, T_alpha > | bernoulli_logit_glm_lpmf (const matrix_cl< int > &y, const matrix_cl< double > &x, const T_alpha &alpha, const T_beta &beta) |
| template<bool propto, typename T_alpha_scalar , typename T_beta_scalar > | |
| return_type_t< T_alpha_scalar, T_beta_scalar > | categorical_logit_glm_lpmf (const matrix_cl< int > &y_cl, const matrix_cl< double > &x_cl, const Eigen::Matrix< T_alpha_scalar, Eigen::Dynamic, 1 > &alpha, const Eigen::Matrix< T_beta_scalar, Eigen::Dynamic, Eigen::Dynamic > &beta) |
| Returns the log PMF of the Generalized Linear Model (GLM) with categorical distribution and logit (softmax) link function. More... | |
| template<typename T_alpha_scalar , typename T_beta_scalar > | |
| return_type_t< T_alpha_scalar, T_beta_scalar > | categorical_logit_glm_lpmf (const matrix_cl< int > &y, const matrix_cl< double > &x, const Eigen::Matrix< T_alpha_scalar, Eigen::Dynamic, 1 > &alpha, const Eigen::Matrix< T_beta_scalar, Eigen::Dynamic, Eigen::Dynamic > &beta) |
| template<typename T , typename = require_floating_point_t<T>> | |
| matrix_cl< T > | cholesky_decompose (matrix_cl< T > &A) |
| Returns the lower-triangular Cholesky factor (i.e., matrix square root) of the specified square, symmetric matrix on the OpenCL device. More... | |
| template<typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| void | divide_columns (const matrix_cl< T1 > &A, const matrix_cl< T2 > &B) |
| Divides each column of a matrix by a vector. More... | |
| template<typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| void | divide_columns (const matrix_cl< T1 > &A, const T2 &divisor) |
| Divides each column of a matrix by a scalar. More... | |
| template<typename T1 , typename T2 , typename T3 , typename = require_all_arithmetic_t<T1, T2, T3>> | |
| matrix_cl< return_type_t< T1, T2, T3 > > | gp_exp_quad_cov (const matrix_cl< T1 > &x, const T2 sigma, const T3 length_scale) |
| Squared exponential kernel on the GPU. More... | |
| template<typename T1 , typename T2 , typename T3 , typename T4 , typename = require_all_arithmetic_t<T1, T2, T3, T4>> | |
| matrix_cl< return_type_t< T1, T2, T3, T4 > > | gp_exp_quad_cov (const matrix_cl< T1 > &x, const matrix_cl< T2 > &y, const T3 sigma, const T4 length_scale) |
| Squared exponential kernel on the GPU. More... | |
| template<typename T1 , typename T2 , typename = require_all_floating_point_t<T1, T2>> | |
| matrix_cl< return_type_t< T1, T2 > > | mdivide_left_tri_low (const matrix_cl< T1 > &A, const matrix_cl< T2 > &b) |
| Returns the solution of the system Ax=b when A is lower triangular. More... | |
| template<typename T , typename = require_all_floating_point_t<T>> | |
| matrix_cl< T > | mdivide_left_tri_low (const matrix_cl< T > &A) |
| Returns the solution of the system Ax=b when A is triangular and b=I. More... | |
| template<typename T1 , typename T2 , typename = require_all_floating_point_t<T1, T2>> | |
| matrix_cl< return_type_t< T1, T2 > > | mdivide_right_tri_low (const matrix_cl< T2 > &b, const matrix_cl< T1 > &A) |
| Returns the solution of the system Ax=b where A is a lower triangular matrix. More... | |
| template<bool propto, typename T_alpha , typename T_beta , typename T_precision > | |
| return_type_t< T_alpha, T_beta, T_precision > | neg_binomial_2_log_glm_lpmf (const matrix_cl< int > &y_cl, const matrix_cl< double > &x_cl, const T_alpha &alpha, const T_beta &beta, const T_precision &phi) |
| Returns the log PMF of the Generalized Linear Model (GLM) with Negative-Binomial-2 distribution and log link function. More... | |
| template<typename T_alpha , typename T_beta , typename T_precision > | |
| return_type_t< T_alpha, T_beta, T_precision > | neg_binomial_2_log_glm_lpmf (const matrix_cl< int > &y, const matrix_cl< double > &x, const T_alpha &alpha, const T_beta &beta, const T_precision &phi) |
| template<bool propto, typename T_alpha , typename T_beta , typename T_scale > | |
| return_type_t< T_alpha, T_beta, T_scale > | normal_id_glm_lpdf (const matrix_cl< double > &y_cl, const matrix_cl< double > &x_cl, const T_alpha &alpha, const T_beta &beta, const T_scale &sigma) |
| Returns the log PDF of the Generalized Linear Model (GLM) with Normal distribution and id link function. More... | |
| template<typename T_alpha , typename T_beta , typename T_scale > | |
| return_type_t< T_alpha, T_beta, T_scale > | normal_id_glm_lpdf (const matrix_cl< double > &y, const matrix_cl< double > &x, const T_alpha &alpha, const T_beta &beta, const T_scale &sigma) |
| template<bool propto, typename T_beta_scalar , typename T_cuts_scalar > | |
| return_type_t< T_beta_scalar, T_cuts_scalar > | ordered_logistic_glm_lpmf (const matrix_cl< int > &y_cl, const matrix_cl< double > &x_cl, const Eigen::Matrix< T_beta_scalar, Eigen::Dynamic, 1 > &beta, const Eigen::Matrix< T_cuts_scalar, Eigen::Dynamic, 1 > &cuts) |
| Returns the log PMF of the ordinal regression Generalized Linear Model (GLM). More... | |
| template<typename T_beta_scalar , typename T_cuts_scalar > | |
| return_type_t< T_beta_scalar, T_cuts_scalar > | ordered_logistic_glm_lpmf (const matrix_cl< int > &y, const matrix_cl< double > &x, const Eigen::Matrix< T_beta_scalar, Eigen::Dynamic, 1 > &beta, const Eigen::Matrix< T_cuts_scalar, Eigen::Dynamic, 1 > &cuts) |
| template<bool propto, typename T_alpha , typename T_beta > | |
| return_type_t< T_alpha, T_beta > | poisson_log_glm_lpmf (const matrix_cl< int > &y_cl, const matrix_cl< double > &x_cl, const T_alpha &alpha, const T_beta &beta) |
| Returns the log PMF of the Generalized Linear Model (GLM) with Poisson distribution and log link function. More... | |
| template<typename T_alpha , typename T_beta > | |
| return_type_t< T_alpha, T_beta > | poisson_log_glm_lpmf (const matrix_cl< int > &y, const matrix_cl< double > &x, const T_alpha &alpha, const T_beta &beta) |
| template<typename T , typename = require_arithmetic_t<T>> | |
| matrix_cl< T > | rep_matrix (const matrix_cl< T > &x, int n, int m) |
| Creates a matrix_cl by replicating the value of the only element in the input 1x1 matrix_cl. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| matrix_cl< T > | rep_matrix (const matrix_cl< T > &x, int m) |
| Creates a matrix_cl by replicating the input vector or row_vector. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| matrix_cl< T > | rep_row_vector (const matrix_cl< T > &x, int m) |
| Creates a matrix_cl representing a row_vector by replicating the value of the only element in the input 1x1 matrix_cl. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| matrix_cl< T > | rep_vector (const matrix_cl< T > &x, int m) |
| Creates a matrix_cl representing a vector by replicating the value of the only element in the input 1x1 matrix_cl. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| matrix_cl< T > | transpose (const matrix_cl< T > &src) |
| Takes the transpose of the matrix on the OpenCL device. More... | |
| template<typename T , int R, int C, require_var_t< T > ...> | |
| matrix_cl< T > | to_matrix_cl (const Eigen::Matrix< T, R, C > &src) |
| Copies the source Eigen matrix of vars to the destination matrix that is stored on the OpenCL device. More... | |
| template<int R = Eigen::Dynamic, int C = Eigen::Dynamic, typename T , require_var_t< T > ...> | |
| Eigen::Matrix< double, R, C > | from_matrix_cl (const matrix_cl< T > &src) |
| Copies the adjoint of the source matrix of vars that is stored on the OpenCL device to the destination Eigen matrix. More... | |
| template<typename T , typename = require_var_t<T>> | |
| std::vector< double > | packed_copy (const matrix_cl< T > &src) |
| Packs the flat triangular matrix on the OpenCL device and copies the adjoint values to the std::vector. More... | |
| template<matrix_cl_view matrix_view> | |
| matrix_cl< var > | packed_copy (vari **src, int rows) |
| Copies the packed triangular matrix from the source std::vector to an OpenCL buffer and unpacks it to a flat matrix on the OpenCL device. More... | |
| template<matrix_cl_view matrix_view = matrix_cl_view::Entire, typename T , typename = require_floating_point_t<T>> | |
| matrix_cl< T > | tri_inverse (const matrix_cl< T > &A) |
| Computes the inverse of a triangular matrix. More... | |
| tbb::task_scheduler_init & | init_threadpool_tbb (tbb::stack_size_type stack_size=0) |
| Initialize the Intel TBB threadpool and global scheduler through the tbb::task_scheduler_init object. More... | |
| template<typename T_a1 , typename T_a2 , typename T_b1 , typename T_z > | |
| void | check_2F1_converges (const char *function, const T_a1 &a1, const T_a2 &a2, const T_b1 &b1, const T_z &z) |
| Check if the hypergeometric function (2F1) called with supplied arguments will converge, assuming arguments are finite values. More... | |
| template<typename T_a1 , typename T_a2 , typename T_a3 , typename T_b1 , typename T_b2 , typename T_z > | |
| void | check_3F2_converges (const char *function, const T_a1 &a1, const T_a2 &a2, const T_a3 &a3, const T_b1 &b1, const T_b2 &b2, const T_z &z) |
| Check if the hypergeometric function (3F2) called with supplied arguments will converge, assuming arguments are finite values. More... | |
| template<typename T_y , typename T_low , typename T_high > | |
| void | check_bounded (const char *function, const char *name, const T_y &y, const T_low &low, const T_high &high) |
| Check if the value is between the low and high values, inclusively. More... | |
| template<typename T_y > | |
| void | check_cholesky_factor (const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
| Check if the specified matrix is a valid Cholesky factor. More... | |
| template<typename T_y > | |
| void | check_cholesky_factor_corr (const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
| Check if the specified matrix is a valid Cholesky factor of a correlation matrix. More... | |
| template<typename T_y , int R, int C> | |
| void | check_column_index (const char *function, const char *name, const Eigen::Matrix< T_y, R, C > &y, size_t i) |
| Check if the specified index is a valid column of the matrix. More... | |
| template<typename T > | |
| void | check_consistent_size (const char *function, const char *name, const T &x, size_t expected_size) |
Check if the dimension of x is consistent, which is defined to be expected_size if x is a vector or 1 if x is not a vector. More... | |
| template<typename T > | |
| void | check_consistent_size_mvt (const char *function, const char *name, const T &x, size_t expected_size) |
Check if the dimension of x is consistent, which is defined to be expected_size if x is a vector of vectors or 1 if x is a single vector. More... | |
| template<typename T1 , typename T2 > | |
| void | check_consistent_sizes (const char *function, const char *name1, const T1 &x1, const char *name2, const T2 &x2) |
| Check if the dimension of x1 is consistent with x2. More... | |
| template<typename T1 , typename T2 , typename T3 > | |
| void | check_consistent_sizes (const char *function, const char *name1, const T1 &x1, const char *name2, const T2 &x2, const char *name3, const T3 &x3) |
| Check if the dimension of x1, x2, and x3 are consistent. More... | |
| template<typename T1 , typename T2 , typename T3 , typename T4 > | |
| void | check_consistent_sizes (const char *function, const char *name1, const T1 &x1, const char *name2, const T2 &x2, const char *name3, const T3 &x3, const char *name4, const T4 &x4) |
| Check if the dimension of x1, x2, x3, and x4 are consistent. More... | |
| template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
| void | check_consistent_sizes (const char *function, const char *name1, const T1 &x1, const char *name2, const T2 &x2, const char *name3, const T3 &x3, const char *name4, const T4 &x4, const char *name5, const T5 &x5) |
| template<typename T1 , typename T2 > | |
| void | check_consistent_sizes_mvt (const char *function, const char *name1, const T1 &x1, const char *name2, const T2 &x2) |
| Check if the dimension of x1 is consistent with x2. More... | |
| template<typename T_y > | |
| void | check_corr_matrix (const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
| Check if the specified matrix is a valid correlation matrix. More... | |
| template<typename T_y > | |
| void | check_cov_matrix (const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
| Check if the specified matrix is a valid covariance matrix. More... | |
| template<typename T_y > | |
| void | check_finite (const char *function, const char *name, const T_y &y) |
Check if y is finite. More... | |
| void | check_flag_sundials (int flag, const char *func_name) |
| Throws an exception when a Sundial function fails (i.e. More... | |
| void | check_flag_kinsol (int flag, long int max_num_steps) |
| Throws an exception message when the function KINSol() (call to the solver) fails. More... | |
| template<typename T_y , typename T_low > | |
| void | check_greater (const char *function, const char *name, const T_y &y, const T_low &low) |
Check if y is strictly greater than low. More... | |
| template<typename T_y , typename T_low > | |
| void | check_greater_or_equal (const char *function, const char *name, const T_y &y, const T_low &low) |
Check if y is greater or equal than low. More... | |
| template<typename T , int R, int C> | |
| void | check_ldlt_factor (const char *function, const char *name, LDLT_factor< T, R, C > &A) |
| Raise domain error if the specified LDLT factor is invalid. More... | |
| template<typename T_y , typename T_high > | |
| void | check_less (const char *function, const char *name, const T_y &y, const T_high &high) |
Check if y is strictly less than high. More... | |
| template<typename T_y , typename T_high > | |
| void | check_less_or_equal (const char *function, const char *name, const T_y &y, const T_high &high) |
Check if y is less or equal to high. More... | |
| template<typename T_y > | |
| void | check_lower_triangular (const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
| Check if the specified matrix is lower triangular. More... | |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| void | check_matching_dims (const char *function, const char *name1, const Eigen::Matrix< T1, R1, C1 > &y1, const char *name2, const Eigen::Matrix< T2, R2, C2 > &y2) |
| Check if the two matrices are of the same size. More... | |
| template<bool check_compile, typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| void | check_matching_dims (const char *function, const char *name1, const Eigen::Matrix< T1, R1, C1 > &y1, const char *name2, const Eigen::Matrix< T2, R2, C2 > &y2) |
| Check if the two matrices are of the same size. More... | |
| template<typename T_y1 , typename T_y2 > | |
| void | check_matching_sizes (const char *function, const char *name1, const T_y1 &y1, const char *name2, const T_y2 &y2) |
| Check if two structures at the same size. More... | |
| template<typename T1 , typename T2 > | |
| void | check_multiplicable (const char *function, const char *name1, const T1 &y1, const char *name2, const T2 &y2) |
| Check if the matrices can be multiplied. More... | |
| template<typename T_y > | |
| void | check_nonempty (const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
| Check if the specified matrix is not empty. More... | |
| template<typename T_y > | |
| void | check_nonnegative (const char *function, const char *name, const T_y &y) |
Check if y is non-negative. More... | |
| template<typename T_y > | |
| void | check_nonzero_size (const char *function, const char *name, const T_y &y) |
| Check if the specified matrix/vector is of non-zero size. More... | |
| template<typename T_y > | |
| void | check_not_nan (const char *function, const char *name, const T_y &y) |
Check if y is not NaN. More... | |
| template<typename T_y > | |
| void | check_ordered (const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, 1 > &y) |
| Check if the specified vector is sorted into strictly increasing order. More... | |
| template<typename T_y > | |
| void | check_ordered (const char *function, const char *name, const std::vector< T_y > &y) |
| Check if the specified vector is sorted into strictly increasing order. More... | |
| template<typename T_y > | |
| void | check_pos_definite (const char *function, const char *name, const Eigen::Matrix< T_y, -1, -1 > &y) |
| Check if the specified square, symmetric matrix is positive definite. More... | |
| template<typename Derived > | |
| void | check_pos_definite (const char *function, const char *name, const Eigen::LDLT< Derived > &cholesky) |
| Check if the specified LDLT transform of a matrix is positive definite. More... | |
| template<typename Derived > | |
| void | check_pos_definite (const char *function, const char *name, const Eigen::LLT< Derived > &cholesky) |
Check if the specified LLT decomposition transform resulted in Eigen::Success More... | |
| template<typename T_y > | |
| void | check_pos_semidefinite (const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
| Check if the specified matrix is positive definite. More... | |
| template<typename Derived > | |
| void | check_pos_semidefinite (const char *function, const char *name, const Eigen::LDLT< Derived > &cholesky) |
| Check if the specified matrix is positive semidefinite. More... | |
| template<typename T_y > | |
| void | check_positive (const char *function, const char *name, const T_y &y) |
Check if y is positive. More... | |
| void | check_positive (const char *function, const char *name, const char *expr, int size) |
Check if size is positive. More... | |
| template<typename T_y > | |
| void | check_positive_finite (const char *function, const char *name, const T_y &y) |
Check if y is positive and finite. More... | |
| template<typename T_y > | |
| void | check_positive_ordered (const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, 1 > &y) |
| Check if the specified vector contains non-negative values and is sorted into strictly increasing order. More... | |
| void | check_range (const char *function, const char *name, int max, int index, int nested_level, const char *error_msg) |
| Check if specified index is within range. More... | |
| void | check_range (const char *function, const char *name, int max, int index, const char *error_msg) |
| Check if specified index is within range. More... | |
| void | check_range (const char *function, const char *name, int max, int index) |
| Check if specified index is within range. More... | |
| template<typename T_y , int R, int C> | |
| void | check_row_index (const char *function, const char *name, const Eigen::Matrix< T_y, R, C > &y, size_t i) |
| Check if the specified index is a valid row of the matrix This check is 1-indexed by default. More... | |
| template<typename T_prob > | |
| void | check_simplex (const char *function, const char *name, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| Check if the specified vector is simplex. More... | |
| template<typename T_size1 , typename T_size2 > | |
| void | check_size_match (const char *function, const char *name_i, T_size1 i, const char *name_j, T_size2 j) |
| Check if the provided sizes match. More... | |
| template<typename T_size1 , typename T_size2 > | |
| void | check_size_match (const char *function, const char *expr_i, const char *name_i, T_size1 i, const char *expr_j, const char *name_j, T_size2 j) |
| Check if the provided sizes match. More... | |
| template<typename T_y > | |
| void | check_square (const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
| Check if the specified matrix is square. More... | |
| template<typename T > | |
| void | check_std_vector_index (const char *function, const char *name, const std::vector< T > &y, int i) |
| Check if the specified index is valid in std vector This check is 1-indexed by default. More... | |
| template<typename T_y > | |
| void | check_symmetric (const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
| Check if the specified matrix is symmetric. More... | |
| template<typename T_prob > | |
| void | check_unit_vector (const char *function, const char *name, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| Check if the specified vector is unit vector. More... | |
| template<typename T , int R, int C> | |
| void | check_vector (const char *function, const char *name, const Eigen::Matrix< T, R, C > &x) |
| Check if the matrix is either a row vector or column vector. More... | |
| template<typename T > | |
| void | domain_error (const char *function, const char *name, const T &y, const char *msg1, const char *msg2) |
| template<typename T > | |
| void | domain_error (const char *function, const char *name, const T &y, const char *msg1) |
| template<typename T > | |
| void | domain_error_vec (const char *function, const char *name, const T &y, size_t i, const char *msg1, const char *msg2) |
| template<typename T > | |
| void | domain_error_vec (const char *function, const char *name, const T &y, size_t i, const char *msg1) |
| template<typename T > | |
| void | invalid_argument (const char *function, const char *name, const T &y, const char *msg1, const char *msg2) |
| Throw an invalid_argument exception with a consistently formatted message. More... | |
| template<typename T > | |
| void | invalid_argument (const char *function, const char *name, const T &y, const char *msg1) |
| Throw an invalid_argument exception with a consistently formatted message. More... | |
| template<typename T > | |
| void | invalid_argument_vec (const char *function, const char *name, const T &y, size_t i, const char *msg1, const char *msg2) |
| Throw an invalid argument exception with a consistently formatted message. More... | |
| template<typename T > | |
| void | invalid_argument_vec (const char *function, const char *name, const T &y, size_t i, const char *msg) |
| Throw an invalid argument exception with a consistently formatted message. More... | |
| template<typename T_y > | |
| bool | is_cholesky_factor (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
Return true if y is a valid Cholesky factor, if number of rows is not less than the number of columns, if there are no 0 columns, and no element in matrix is NaN. More... | |
| template<typename T_y > | |
| bool | is_cholesky_factor_corr (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
Return true if y is a valid Cholesky factor, if the number of rows is not less than the number of columns, if there are no zero columns, and no element in matrix is NaN. More... | |
| template<typename T_y , int R, int C> | |
| bool | is_column_index (const Eigen::Matrix< T_y, R, C > &y, size_t i) |
Return true if column index is in bounds. More... | |
| template<typename T_y > | |
| bool | is_corr_matrix (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
Return true if the matrix is square and not 0x0, if the matrix is symmetric, diagonals are near 1, positive definite, and no elements are NaN A valid correlation matrix is symmetric, has a unit diagonal (all 1 values), and has all values between -1 and 1 (inclusive). More... | |
| template<typename T , int R, int C> | |
| bool | is_ldlt_factor (LDLT_factor< T, R, C > &A) |
Return true if the specified LDLT factor is invalid. More... | |
| template<typename T_y , typename T_high > | |
| bool | is_less_or_equal (const T_y &y, const T_high &high) |
Return true if y is less or equal to high. More... | |
| template<typename T_y > | |
| bool | is_lower_triangular (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
Return true is matrix is lower triangular. More... | |
| template<typename T , int R, int C> | |
| bool | is_mat_finite (const Eigen::Matrix< T, R, C > &y) |
Return true is the specified matrix is finite. More... | |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| bool | is_matching_dims (const Eigen::Matrix< T1, R1, C1 > &y1, const Eigen::Matrix< T2, R2, C2 > &y2) |
Return true if the two matrices are of the same size. More... | |
| template<bool check_compile, typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| bool | is_matching_dims (const Eigen::Matrix< T1, R1, C1 > &y1, const Eigen::Matrix< T2, R2, C2 > &y2) |
Return true if the two matrices are of the same size. More... | |
| template<typename T_y1 , typename T_y2 > | |
| bool | is_matching_size (const T_y1 &y1, const T_y2 &y2) |
Return true if two structures are the same size. More... | |
| template<typename T_y > | |
| bool | is_nonzero_size (const T_y &y) |
Returns true if the specified matrix/vector is size nonzero. More... | |
| template<typename T_y > | |
| bool | is_not_nan (const T_y &y) |
Return true if y is not NaN. More... | |
| template<typename T_y > | |
| bool | is_ordered (const std::vector< T_y > &y) |
Return true if the vector is sorted into strictly increasing order. More... | |
| template<typename T_y > | |
| bool | is_pos_definite (const Eigen::Matrix< T_y, -1, -1 > &y) |
Return true if the matrix is square or if the matrix has non-zero size, or if the matrix is symmetric, or if it is positive definite, or if no element is NaN. More... | |
| template<typename Derived > | |
| bool | is_pos_definite (const Eigen::LDLT< Derived > &cholesky) |
Return true if the matrix is positive definite. More... | |
| template<typename Derived > | |
| bool | is_pos_definite (const Eigen::LLT< Derived > &cholesky) |
Return true if diagonal of the L matrix is positive. More... | |
| template<typename T_y > | |
| bool | is_positive (const T_y &y) |
Return true if y is positive. More... | |
| bool | is_positive (int size) |
Return true if size is positive. More... | |
| template<typename T_y > | |
| bool | is_scal_finite (const T_y &y) |
Return true if y is finite. More... | |
| template<typename T_size1 , typename T_size2 > | |
| bool | is_size_match (T_size1 i, T_size2 j) |
Return true if the provided sizes match. More... | |
| template<typename T_y > | |
| bool | is_square (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
Return true if the matrix is square. More... | |
| template<typename T_y > | |
| bool | is_symmetric (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y) |
Return true if the matrix is square, and no element not on the main diagonal is NaN. More... | |
| template<typename T_prob > | |
| bool | is_unit_vector (const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
Return true if the vector is not a unit vector or if any element is NaN. More... | |
| void | out_of_range (const char *function, int max, int index, const char *msg1="", const char *msg2="") |
| Throw an out_of_range exception with a consistently formatted message. More... | |
| void | system_error (const char *function, const char *name, const int &y, const char *msg1, const char *msg2) |
| Throw a system error with a consistently formatted message. More... | |
| void | system_error (const char *function, const char *name, const int &y, const char *msg1) |
| Throw a system error with a consistently formatted message. More... | |
| template<typename T > | |
| void | throw_domain_error (const char *function, const char *name, const T &y, const char *msg1, const char *msg2) |
| Throw a domain error with a consistently formatted message. More... | |
| template<typename T > | |
| void | throw_domain_error (const char *function, const char *name, const T &y, const char *msg1) |
| Throw a domain error with a consistently formatted message. More... | |
| template<typename T > | |
| void | throw_domain_error_vec (const char *function, const char *name, const T &y, size_t i, const char *msg1, const char *msg2) |
| Throw a domain error with a consistently formatted message. More... | |
| template<typename T > | |
| void | throw_domain_error_vec (const char *function, const char *name, const T &y, size_t i, const char *msg) |
| Throw a domain error with a consistently formatted message. More... | |
| void | validate_non_negative_index (const char *var_name, const char *expr, int val) |
| double | abs (double x) |
| Return floating-point absolute value. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | acos (const T &x) |
| Vectorized version of acos(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | acos (const Eigen::MatrixBase< Derived > &x) |
| Version of acos() that accepts Eigen Matrix or matrix expressions. More... | |
| double | acosh (double x) |
| Return the inverse hyperbolic cosine of the specified value. More... | |
| double | acosh (int x) |
| Integer version of acosh. More... | |
| template<typename T > | |
| auto | acosh (const T &x) |
Return the elementwise application of acosh() to specified argument container. More... | |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | add (const Eigen::Matrix< T1, R, C > &m1, const Eigen::Matrix< T2, R, C > &m2) |
| Return the sum of the specified matrices. More... | |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | add (const Eigen::Matrix< T1, R, C > &m, const T2 &c) |
| Return the sum of the specified matrix and specified scalar. More... | |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | add (const T1 &c, const Eigen::Matrix< T2, R, C > &m) |
| Return the sum of the specified scalar and specified matrix. More... | |
| template<typename T_m , typename T_a > | |
| Eigen::Matrix< return_type_t< T_m, T_a >, Eigen::Dynamic, Eigen::Dynamic > | add_diag (const Eigen::Matrix< T_m, Eigen::Dynamic, Eigen::Dynamic > &mat, const T_a &to_add) |
| Returns a Matrix with values added along the main diagonal. More... | |
| template<typename T_m , typename T_a , int R, int C> | |
| Eigen::Matrix< return_type_t< T_m, T_a >, Eigen::Dynamic, Eigen::Dynamic > | add_diag (const Eigen::Matrix< T_m, Eigen::Dynamic, Eigen::Dynamic > &mat, const Eigen::Matrix< T_a, R, C > &to_add) |
| Returns a Matrix with values added along the main diagonal. More... | |
| template<typename T1 , typename T2 > | |
| append_return_type< std::vector< T1 >, std::vector< T2 > >::type | append_array (const std::vector< T1 > &x, const std::vector< T2 > &y) |
| Return the concatenation of two specified vectors in the order of the arguments. More... | |
| template<typename T1 > | |
| std::vector< T1 > | append_array (const std::vector< T1 > &x, const std::vector< T1 > &y) |
| Return the concatenation of two specified vectors in the order of the arguments. More... | |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, Eigen::Dynamic, Eigen::Dynamic > | append_col (const Eigen::Matrix< T1, R1, C1 > &A, const Eigen::Matrix< T2, R2, C2 > &B) |
| Return the result of appending the second argument matrix after the first argument matrix, that is, putting them side by side, with the first matrix followed by the second matrix. More... | |
| template<typename T1 , typename T2 , int C1, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, 1, Eigen::Dynamic > | append_col (const Eigen::Matrix< T1, 1, C1 > &A, const Eigen::Matrix< T2, 1, C2 > &B) |
| Return the result of concatenating the first row vector followed by the second row vector side by side, with the result being a row vector. More... | |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | append_col (const Eigen::Matrix< T, R1, C1 > &A, const Eigen::Matrix< T, R2, C2 > &B) |
| Return the result of appending the second argument matrix after the first argument matrix, that is, putting them side by side, with the first matrix followed by the second matrix. More... | |
| template<typename T , int C1, int C2> | |
| Eigen::Matrix< T, 1, Eigen::Dynamic > | append_col (const Eigen::Matrix< T, 1, C1 > &A, const Eigen::Matrix< T, 1, C2 > &B) |
| Return the result of concatenating the first row vector followed by the second row vector side by side, with the result being a row vector. More... | |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, 1, Eigen::Dynamic > | append_col (const T1 &A, const Eigen::Matrix< T2, R, C > &B) |
| Return the result of stacking an scalar on top of the a row vector, with the result being a row vector. More... | |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, 1, Eigen::Dynamic > | append_col (const Eigen::Matrix< T1, R, C > &A, const T2 &B) |
| Return the result of stacking a row vector on top of the an scalar, with the result being a row vector. More... | |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, Eigen::Dynamic, Eigen::Dynamic > | append_row (const Eigen::Matrix< T1, R1, C1 > &A, const Eigen::Matrix< T2, R2, C2 > &B) |
| Return the result of stacking the rows of the first argument matrix on top of the second argument matrix. More... | |
| template<typename T1 , typename T2 , int R1, int R2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, Eigen::Dynamic, 1 > | append_row (const Eigen::Matrix< T1, R1, 1 > &A, const Eigen::Matrix< T2, R2, 1 > &B) |
| Return the result of stacking the first vector on top of the second vector, with the result being a vector. More... | |
| template<typename T , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | append_row (const Eigen::Matrix< T, R1, C1 > &A, const Eigen::Matrix< T, R2, C2 > &B) |
| Return the result of stacking the rows of the first argument matrix on top of the second argument matrix. More... | |
| template<typename T , int R1, int R2> | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | append_row (const Eigen::Matrix< T, R1, 1 > &A, const Eigen::Matrix< T, R2, 1 > &B) |
| Return the result of stacking the first vector on top of the second vector, with the result being a vector. More... | |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, Eigen::Dynamic, 1 > | append_row (const T1 &A, const Eigen::Matrix< T2, R, C > &B) |
| Return the result of stacking an scalar on top of the a vector, with the result being a vector. More... | |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, Eigen::Dynamic, 1 > | append_row (const Eigen::Matrix< T1, R, C > &A, const T2 &B) |
| Return the result of stacking a vector on top of the an scalar, with the result being a vector. More... | |
| template<typename T > | |
| bool | as_bool (const T &x) |
Return true if the argument is not equal to zero (in the != operator sense) and false otherwise. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | asin (const T &x) |
| Vectorized version of asin(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | asin (const Eigen::MatrixBase< Derived > &x) |
| Version of asin() that accepts Eigen Matrix or matrix expressions. More... | |
| double | asinh (double x) |
| Return the inverse hyperbolic sine of the specified value. More... | |
| double | asinh (int x) |
| Integer version of asinh. More... | |
| template<typename T > | |
| auto | asinh (const T &x) |
| Vectorized version of asinh(). More... | |
| template<int N> | |
| void | print_mat_size (std::ostream &o) |
| Helper function to return the matrix size as either "dynamic" or "1". More... | |
| template<typename T_lhs , typename T_rhs > | |
| void | assign (T_lhs &x, const T_rhs &y) |
| Copy the right-hand side's value to the left-hand side variable. More... | |
| template<typename T_lhs , typename T_rhs , int R1, int C1, int R2, int C2> | |
| void | assign (Eigen::Matrix< T_lhs, R1, C1 > &x, const Eigen::Matrix< T_rhs, R2, C2 > &y) |
| Copy the right-hand side's value to the left-hand side variable. More... | |
| template<typename T_lhs , typename T_rhs , int R, int C> | |
| void | assign (Eigen::Matrix< T_lhs, R, C > &x, const Eigen::Matrix< T_rhs, R, C > &y) |
| Copy the right-hand side's value to the left-hand side variable. More... | |
| template<typename T_lhs , typename T , int R, int C> | |
| void | assign (Eigen::Block< T_lhs > x, const Eigen::Matrix< T, R, C > &y) |
| Copy the right-hand side's value to the left-hand side variable. More... | |
| template<typename T_lhs , typename T_rhs > | |
| void | assign (std::vector< T_lhs > &x, const std::vector< T_rhs > &y) |
| Copy the right-hand side's value to the left-hand side variable. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| apply_scalar_unary< atan_fun, T >::return_t | atan (const T &x) |
| Vectorized version of atan(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | atan (const Eigen::MatrixBase< Derived > &x) |
| Version of atan() that accepts Eigen Matrix or matrix expressions. More... | |
| double | atanh (double x) |
| Return the inverse hyperbolic tangent of the specified value. More... | |
| double | atanh (int x) |
| Integer version of atanh. More... | |
| template<typename T > | |
| auto | atanh (const T &x) |
Return the elementwise application of atanh() to specified argument container. More... | |
| template<typename T > | |
| void | autocorrelation (const std::vector< T > &y, std::vector< T > &ac, Eigen::FFT< T > &fft) |
| Write autocorrelation estimates for every lag for the specified input sequence into the specified result using the specified FFT engine. More... | |
| template<typename T , typename DerivedA , typename DerivedB > | |
| void | autocorrelation (const Eigen::MatrixBase< DerivedA > &y, Eigen::MatrixBase< DerivedB > &ac, Eigen::FFT< T > &fft) |
| Write autocorrelation estimates for every lag for the specified input sequence into the specified result using the specified FFT engine. More... | |
| template<typename T > | |
| void | autocorrelation (const std::vector< T > &y, std::vector< T > &ac) |
| Write autocorrelation estimates for every lag for the specified input sequence into the specified result. More... | |
| template<typename T , typename DerivedA , typename DerivedB > | |
| void | autocorrelation (const Eigen::MatrixBase< DerivedA > &y, Eigen::MatrixBase< DerivedB > &ac) |
| Write autocorrelation estimates for every lag for the specified input sequence into the specified result. More... | |
| template<typename T > | |
| void | autocovariance (const std::vector< T > &y, std::vector< T > &acov, Eigen::FFT< T > &fft) |
| Write autocovariance estimates for every lag for the specified input sequence into the specified result using the specified FFT engine. More... | |
| template<typename T , typename DerivedA , typename DerivedB > | |
| void | autocovariance (const Eigen::MatrixBase< DerivedA > &y, Eigen::MatrixBase< DerivedB > &acov, Eigen::FFT< T > &fft) |
| Write autocovariance estimates for every lag for the specified input sequence into the specified result using the specified FFT engine. More... | |
| template<typename T > | |
| void | autocovariance (const std::vector< T > &y, std::vector< T > &acov) |
| Write autocovariance estimates for every lag for the specified input sequence into the specified result. More... | |
| template<typename T , typename DerivedA , typename DerivedB > | |
| void | autocovariance (const Eigen::MatrixBase< DerivedA > &y, Eigen::MatrixBase< DerivedB > &acov) |
| Write autocovariance estimates for every lag for the specified input sequence into the specified result. More... | |
| template<typename T2 > | |
| T2 | bessel_first_kind (int v, const T2 z) |
\[ \mbox{bessel\_first\_kind}(v, x) = \begin{cases} J_v(x) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{error} & \mbox{if } x = \textrm{NaN} \end{cases} \] More... | |
| template<typename T2 > | |
| T2 | bessel_second_kind (int v, const T2 z) |
\[ \mbox{bessel\_second\_kind}(v, x) = \begin{cases} \textrm{error} & \mbox{if } x \leq 0 \\ Y_v(x) & \mbox{if } x > 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \] More... | |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2 > | beta (const T1 a, const T2 b) |
| Return the beta function applied to the specified arguments. More... | |
| template<typename T > | |
| T | binary_log_loss (int y, const T &y_hat) |
| Returns the log loss function for binary classification with specified reference and response values. More... | |
| template<typename T_N , typename T_n > | |
| return_type_t< T_N, T_n > | binomial_coefficient_log (const T_N N, const T_n n) |
| Return the log of the binomial coefficient for the specified arguments. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | block (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m, size_t i, size_t j, size_t nrows, size_t ncols) |
| Return a nrows x ncols submatrix starting at (i-1, j-1). More... | |
| double | cbrt (double x) |
| Return the cube root of the specified value. More... | |
| double | cbrt (int x) |
| Integer version of cbrt. More... | |
| template<typename T > | |
| auto | cbrt (const T &x) |
| Vectorized version of cbrt(). More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | ceil (const T &x) |
| Vectorized version of ceil(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | ceil (const Eigen::MatrixBase< Derived > &x) |
| Version of ceil() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | chol2inv (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &L) |
| Returns the inverse of the matrix whose Cholesky factor is L. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | cholesky_corr_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &y, int K) |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | cholesky_corr_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &y, int K, T &lp) |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | cholesky_corr_free (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &x) |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | cholesky_decompose (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m) |
| Return the lower-triangular Cholesky factor (i.e., matrix square root) of the specified square, symmetric matrix. More... | |
| template<> | |
| Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > | cholesky_decompose (const Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > &m) |
| Return the lower-triangular Cholesky factor (i.e., matrix square root) of the specified square, symmetric matrix. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | cholesky_factor_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, int M, int N) |
| Return the Cholesky factor of the specified size read from the specified vector. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | cholesky_factor_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, int M, int N, T &lp) |
| Return the Cholesky factor of the specified size read from the specified vector and increment the specified log probability reference with the log Jacobian adjustment of the transform. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | cholesky_factor_free (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &y) |
| Return the unconstrained vector of parameters correspdonding to the specified Cholesky factor. More... | |
| int | choose (int n, int k) |
| Return the binomial coefficient for the specified integer arguments. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | col (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m, size_t j) |
| Return the specified column of the specified matrix using start-at-1 indexing. More... | |
| template<typename T , int R, int C> | |
| int | cols (const Eigen::Matrix< T, R, C > &m) |
| Return the number of columns in the specified matrix, vector, or row vector. More... | |
| template<int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< double, 1, C1 > | columns_dot_product (const Eigen::Matrix< double, R1, C1 > &v1, const Eigen::Matrix< double, R2, C2 > &v2) |
| Returns the dot product of the specified vectors. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, 1, C > | columns_dot_self (const Eigen::Matrix< T, R, C > &x) |
| Returns the dot product of each column of a matrix with itself. More... | |
| double | e () |
| Return the base of the natural logarithm. More... | |
| double | pi () |
| Return the value of pi. More... | |
| double | positive_infinity () |
| Return positive infinity. More... | |
| double | negative_infinity () |
| Return negative infinity. More... | |
| double | not_a_number () |
| Return (quiet) not-a-number. More... | |
| double | machine_precision () |
| Returns the difference between 1.0 and the next value representable. More... | |
| double | log10 () |
| Returns the natural logarithm of ten. More... | |
| double | sqrt2 () |
| Returns the square root of two. More... | |
| template<typename ADType , typename U > | |
| ADType | copysign (const ADType &x, const U &y) |
| Return the negation of the first argument if the first and second argument have different signs, otherwise return a copy of the first argument. More... | |
| template<typename T > | |
| T | corr_constrain (const T &x) |
| Return the result of transforming the specified scalar to have a valid correlation value between -1 and 1 (inclusive). More... | |
| template<typename T > | |
| T | corr_constrain (const T &x, T &lp) |
| Return the result of transforming the specified scalar to have a valid correlation value between -1 and 1 (inclusive). More... | |
| template<typename T > | |
| T | corr_free (const T &y) |
| Return the unconstrained scalar that when transformed to a valid correlation produces the specified value. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | corr_matrix_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, math::index_type_t< Eigen::Matrix< T, Eigen::Dynamic, 1 >> k) |
| Return the correlation matrix of the specified dimensionality derived from the specified vector of unconstrained values. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | corr_matrix_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, math::index_type_t< Eigen::Matrix< T, Eigen::Dynamic, 1 >> k, T &lp) |
| Return the correlation matrix of the specified dimensionality derived from the specified vector of unconstrained values. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | corr_matrix_free (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &y) |
| Return the vector of unconstrained partial correlations that define the specified correlation matrix when transformed. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | cos (const T &x) |
| Vectorized version of cos(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | cos (const Eigen::MatrixBase< Derived > &x) |
| Version of cos() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| apply_scalar_unary< cosh_fun, T >::return_t | cosh (const T &x) |
| Vectorized version of cosh(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | cosh (const Eigen::MatrixBase< Derived > &x) |
| Version of cosh() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename T_x , typename T_sigma , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x, T_sigma, T_l >, Eigen::Dynamic, Eigen::Dynamic > | cov_exp_quad (const std::vector< T_x > &x, const T_sigma &sigma, const T_l &length_scale) |
| template<typename T_x , typename T_sigma , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x, T_sigma, T_l >, Eigen::Dynamic, Eigen::Dynamic > | cov_exp_quad (const std::vector< T_x > &x, const T_sigma &sigma, const std::vector< T_l > &length_scale) |
| template<typename T_x1 , typename T_x2 , typename T_sigma , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_sigma, T_l >, Eigen::Dynamic, Eigen::Dynamic > | cov_exp_quad (const std::vector< T_x1 > &x1, const std::vector< T_x2 > &x2, const T_sigma &sigma, const T_l &length_scale) |
| template<typename T_x1 , typename T_x2 , typename T_sigma , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_sigma, T_l >, Eigen::Dynamic, Eigen::Dynamic > | cov_exp_quad (const std::vector< T_x1 > &x1, const std::vector< T_x2 > &x2, const T_sigma &sigma, const std::vector< T_l > &length_scale) |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | cov_matrix_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, typename math::index_type< Eigen::Matrix< T, Eigen::Dynamic, 1 >>::type K) |
| Return the symmetric, positive-definite matrix of dimensions K by K resulting from transforming the specified finite vector of size K plus (K choose 2). More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | cov_matrix_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, typename math::index_type< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic >>::type K, T &lp) |
| Return the symmetric, positive-definite matrix of dimensions K by K resulting from transforming the specified finite vector of size K plus (K choose 2). More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | cov_matrix_constrain_lkj (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, size_t k) |
| Return the covariance matrix of the specified dimensionality derived from constraining the specified vector of unconstrained values. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | cov_matrix_constrain_lkj (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, size_t k, T &lp) |
| Return the covariance matrix of the specified dimensionality derived from constraining the specified vector of unconstrained values and increment the specified log probability reference with the log absolute Jacobian determinant. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | cov_matrix_free (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &y) |
| The covariance matrix derived from the symmetric view of the lower-triangular view of the K by K specified matrix is freed to return a vector of size K + (K choose 2). More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | cov_matrix_free_lkj (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &y) |
| Return the vector of unconstrained partial correlations and deviations that transform to the specified covariance matrix. More... | |
| matrix_d | crossprod (const matrix_d &M) |
| Returns the result of pre-multiplying a matrix by its own transpose. More... | |
| template<typename T > | |
| const std::vector< int > | csr_extract_u (const Eigen::SparseMatrix< T, Eigen::RowMajor > &A) |
| Extract the NZE index for each entry from a sparse matrix. More... | |
| template<typename T , int R, int C> | |
| const std::vector< int > | csr_extract_u (const Eigen::Matrix< T, R, C > &A) |
| Extract the NZE index for each entry from a sparse matrix. More... | |
| template<typename T > | |
| const std::vector< int > | csr_extract_v (const Eigen::SparseMatrix< T, Eigen::RowMajor > &A) |
| Extract the column indexes for non-zero value from a sparse matrix. More... | |
| template<typename T , int R, int C> | |
| const std::vector< int > | csr_extract_v (const Eigen::Matrix< T, R, C > &A) |
| Extract the column indexes for non-zero values from a dense matrix by converting to sparse and calling the sparse matrix extractor. More... | |
| template<typename T > | |
| const Eigen::Matrix< T, Eigen::Dynamic, 1 > | csr_extract_w (const Eigen::SparseMatrix< T, Eigen::RowMajor > &A) |
| template<typename T , int R, int C> | |
| const Eigen::Matrix< T, Eigen::Dynamic, 1 > | csr_extract_w (const Eigen::Matrix< T, R, C > &A) |
| template<typename T1 , typename T2 > | |
| Eigen::Matrix< return_type_t< T1, T2 >, Eigen::Dynamic, 1 > | csr_matrix_times_vector (int m, int n, const Eigen::Matrix< T1, Eigen::Dynamic, 1 > &w, const std::vector< int > &v, const std::vector< int > &u, const Eigen::Matrix< T2, Eigen::Dynamic, 1 > &b) |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | csr_to_dense_matrix (int m, int n, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &w, const std::vector< int > &v, const std::vector< int > &u) |
| Construct a dense Eigen matrix from the CSR format components. More... | |
| int | csr_u_to_z (const std::vector< int > &u, int i) |
| Return the z vector computed from the specified u vector at the index for the z vector. More... | |
| template<typename T > | |
| std::vector< T > | cumulative_sum (const std::vector< T > &x) |
| Return the cumulative sum of the specified vector. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, R, C > | cumulative_sum (const Eigen::Matrix< T, R, C > &m) |
| Return the cumulative sum of the specified matrix. More... | |
| template<typename T , int R, int C> | |
| T | determinant (const Eigen::Matrix< T, R, C > &m) |
| Returns the determinant of the specified square matrix. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | diag_matrix (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &v) |
| Return a square diagonal matrix with the specified vector of coefficients as the diagonal values. More... | |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R1, C1 > | diag_post_multiply (const Eigen::Matrix< T1, R1, C1 > &m1, const Eigen::Matrix< T2, R2, C2 > &m2) |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R2, C2 > | diag_pre_multiply (const Eigen::Matrix< T1, R1, C1 > &m1, const Eigen::Matrix< T2, R2, C2 > &m2) |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | diagonal (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m) |
| Return a column vector of the diagonal elements of the specified matrix. More... | |
| double | digamma (double x) |
| Return the derivative of the log gamma function at the specified value. More... | |
| template<typename T > | |
| auto | digamma (const T &x) |
| Vectorized version of digamma(). More... | |
| template<typename T > | |
| void | dims (const T &x, std::vector< int > &result) |
| template<typename T , int R, int C> | |
| void | dims (const Eigen::Matrix< T, R, C > &x, std::vector< int > &result) |
| template<typename T > | |
| void | dims (const std::vector< T > &x, std::vector< int > &result) |
| template<typename T > | |
| std::vector< int > | dims (const T &x) |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2 > | distance (const T1 &x1, const T2 &x2) |
| Returns the distance between two scalars. More... | |
| template<typename T1 , int R1, int C1, typename T2 , int R2, int C2> | |
| return_type_t< T1, T2 > | distance (const Eigen::Matrix< T1, R1, C1 > &v1, const Eigen::Matrix< T2, R2, C2 > &v2) |
| Returns the distance between the specified vectors. More... | |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2 > | divide (const T1 &x, const T2 &y) |
| Return the division of the first scalar by the second scalar. More... | |
| int | divide (int x, int y) |
| template<int R, int C, typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | divide (const Eigen::Matrix< T1, R, C > &m, T2 c) |
| Return matrix divided by scalar. More... | |
| template<typename T_x , typename T_v > | |
| std::vector< Eigen::Matrix< return_type_t< T_x, T_v, double >, Eigen::Dynamic, 1 > > | divide_columns (const std::vector< Eigen::Matrix< T_x, Eigen::Dynamic, 1 >> &x, const std::vector< T_v > &vec) |
| Takes Stan data type vector[n] x[D] and divides column vector in x element-wise by the values in vec. More... | |
| double | dot (const std::vector< double > &x, const std::vector< double > &y) |
| template<int R1, int C1, int R2, int C2> | |
| double | dot_product (const Eigen::Matrix< double, R1, C1 > &v1, const Eigen::Matrix< double, R2, C2 > &v2) |
| Returns the dot product of the specified vectors. More... | |
| double | dot_product (const double *v1, const double *v2, size_t length) |
| Returns the dot product of the specified arrays of doubles. More... | |
| double | dot_product (const std::vector< double > &v1, const std::vector< double > &v2) |
| Returns the dot product of the specified arrays of doubles. More... | |
| double | dot_self (const std::vector< double > &x) |
| template<int R, int C> | |
| double | dot_self (const Eigen::Matrix< double, R, C > &v) |
| Returns the dot product of the specified vector with itself. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | eigenvalues_sym (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m) |
| Return the eigenvalues of the specified symmetric matrix in descending order of magnitude. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | eigenvectors_sym (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m) |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | elt_divide (const Eigen::Matrix< T1, R, C > &m1, const Eigen::Matrix< T2, R, C > &m2) |
| Return the elementwise division of the specified matrices. More... | |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | elt_divide (const Eigen::Matrix< T1, R, C > &m, T2 s) |
| Return the elementwise division of the specified matrix by the specified scalar. More... | |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | elt_divide (T1 s, const Eigen::Matrix< T2, R, C > &m) |
| Return the elementwise division of the specified scalar by the specified matrix. More... | |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | elt_multiply (const Eigen::Matrix< T1, R, C > &m1, const Eigen::Matrix< T2, R, C > &m2) |
| Return the elementwise multiplication of the specified matrices. More... | |
| double | erf (double x) |
| Return the error function of the specified value. More... | |
| double | erf (int x) |
| Return the error function of the specified argument. More... | |
| template<typename T > | |
| auto | erf (const T &x) |
| Vectorized version of erf(). More... | |
| double | erfc (double x) |
| Return the complementary error function of the specified value. More... | |
| double | erfc (int x) |
| Return the error function of the specified argument. More... | |
| template<typename T > | |
| auto | erfc (const T &x) |
| Vectorized version of erfc(). More... | |
| double | exp (int x) |
| Return the natural exponential of the specified argument. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | exp (const T &x) |
| Return the elementwise exponentiation of the specified argument, which may be a scalar or any Stan container of numeric scalars. More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | exp (const Eigen::MatrixBase< Derived > &x) |
| Version of exp() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| double | exp2 (T y) |
| Return the exponent base 2 of the specified argument (C99, C++11). More... | |
| template<typename T , typename = require_vector_like_t<T>> | |
| auto | exp2 (const T &x) |
Return the elementwise application of exp2() to specified argument container. More... | |
| double | expm1 (double x) |
| Return the natural exponentiation of x minus one. More... | |
| double | expm1 (int x) |
| Integer version of expm1. More... | |
| template<typename T > | |
| auto | expm1 (const T &x) |
| Vectorized version of expm1(). More... | |
| template<typename T > | |
| T | F32 (const T &a1, const T &a2, const T &a3, const T &b1, const T &b2, const T &z, double precision=1e-6, int max_steps=1e5) |
| Hypergeometric function (3F2). More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| apply_scalar_unary< fabs_fun, T >::return_t | fabs (const T &x) |
| Vectorized version of fabs(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | fabs (const Eigen::MatrixBase< Derived > &x) |
| Version of fabs() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | fabs (const Eigen::ArrayBase< Derived > &x) |
| Version of fabs() that accepts Eigen Array or array expressions. More... | |
| template<typename T > | |
| bool | factor_cov_matrix (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &Sigma, Eigen::Array< T, Eigen::Dynamic, 1 > &CPCs, Eigen::Array< T, Eigen::Dynamic, 1 > &sds) |
| This function is intended to make starting values, given a covariance matrix Sigma. More... | |
| template<typename T > | |
| void | factor_U (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &U, Eigen::Array< T, Eigen::Dynamic, 1 > &CPCs) |
| This function is intended to make starting values, given a unit upper-triangular matrix U such that U'DU is a correlation matrix. More... | |
| template<typename T > | |
| return_type_t< T > | falling_factorial (const T &x, int n) |
| Return the falling factorial function evaluated at the inputs. More... | |
| template<typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| double | fdim (T1 x, T2 y) |
| Return the positive difference of the specified values (C++11). More... | |
| template<typename T , int R, int C, typename S > | |
| void | fill (Eigen::Matrix< T, R, C > &x, const S &y) |
| Fill the specified container with the specified value. More... | |
| template<typename T , typename S > | |
| void | fill (T &x, const S &y) |
| Fill the specified container with the specified value. More... | |
| template<typename T , typename S > | |
| void | fill (std::vector< T > &x, const S &y) |
| Fill the specified container with the specified value. More... | |
| double | finite_diff_stepsize (double u) |
| Return the stepsize for finite difference evaluations at the specified scalar. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | floor (const T &x) |
| Vectorized version of floor(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | floor (const Eigen::MatrixBase< Derived > &x) |
| Version of floor() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename T1 , typename T2 , typename T3 , typename = require_all_arithmetic_t<T1, T2, T3>> | |
| double | fma (T1 x, T2 y, T3 z) |
| Return the product of the first two arguments plus the third argument. More... | |
| template<typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| double | fmax (T1 x, T2 y) |
| Return the greater of the two specified arguments. More... | |
| template<typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| double | fmin (T1 x, T2 y) |
| Return the lesser of the two specified arguments. More... | |
| double | gamma_p (double z, double a) |
| Return the value of the normalized, lower-incomplete gamma function applied to the specified argument. More... | |
| double | gamma_q (double x, double a) |
\[ \mbox{gamma\_q}(a, z) = \begin{cases} \textrm{error} & \mbox{if } a\leq 0 \textrm{ or } z < 0\\ Q(a, z) & \mbox{if } a > 0, z \geq 0 \\[6pt] \textrm{NaN} & \mbox{if } a = \textrm{NaN or } z = \textrm{NaN} \end{cases} \] More... | |
| template<typename T > | |
| const T & | get_base1 (const std::vector< T > &x, size_t i, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one index. More... | |
| template<typename T > | |
| const T & | get_base1 (const std::vector< std::vector< T > > &x, size_t i1, size_t i2, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| const T & | get_base1 (const std::vector< std::vector< std::vector< T > > > &x, size_t i1, size_t i2, size_t i3, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| const T & | get_base1 (const std::vector< std::vector< std::vector< std::vector< T > > > > &x, size_t i1, size_t i2, size_t i3, size_t i4, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| const T & | get_base1 (const std::vector< std::vector< std::vector< std::vector< std::vector< T > > > > > &x, size_t i1, size_t i2, size_t i3, size_t i4, size_t i5, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| const T & | get_base1 (const std::vector< std::vector< std::vector< std::vector< std::vector< std::vector< T > > > > > > &x, size_t i1, size_t i2, size_t i3, size_t i4, size_t i5, size_t i6, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| const T & | get_base1 (const std::vector< std::vector< std::vector< std::vector< std::vector< std::vector< std::vector< T > > > > > > > &x, size_t i1, size_t i2, size_t i3, size_t i4, size_t i5, size_t i6, size_t i7, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| const T & | get_base1 (const std::vector< std::vector< std::vector< std::vector< std::vector< std::vector< std::vector< std::vector< T > > > > > > > > &x, size_t i1, size_t i2, size_t i3, size_t i4, size_t i5, size_t i6, size_t i7, size_t i8, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| Eigen::Matrix< T, 1, Eigen::Dynamic > | get_base1 (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &x, size_t m, const char *error_msg, size_t idx) |
| Return a copy of the row of the specified vector at the specified base-one row index. More... | |
| template<typename T > | |
| const T & | get_base1 (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &x, size_t m, size_t n, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified matrix at the specified base-one row and column indexes. More... | |
| template<typename T > | |
| const T & | get_base1 (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, size_t m, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified column vector at the specified base-one index. More... | |
| template<typename T > | |
| const T & | get_base1 (const Eigen::Matrix< T, 1, Eigen::Dynamic > &x, size_t n, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified row vector at the specified base-one index. More... | |
| template<typename T > | |
| T & | get_base1_lhs (std::vector< T > &x, size_t i, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one index. More... | |
| template<typename T > | |
| T & | get_base1_lhs (std::vector< std::vector< T > > &x, size_t i1, size_t i2, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| T & | get_base1_lhs (std::vector< std::vector< std::vector< T > > > &x, size_t i1, size_t i2, size_t i3, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| T & | get_base1_lhs (std::vector< std::vector< std::vector< std::vector< T > > > > &x, size_t i1, size_t i2, size_t i3, size_t i4, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| T & | get_base1_lhs (std::vector< std::vector< std::vector< std::vector< std::vector< T > > > > > &x, size_t i1, size_t i2, size_t i3, size_t i4, size_t i5, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| T & | get_base1_lhs (std::vector< std::vector< std::vector< std::vector< std::vector< std::vector< T > > > > > > &x, size_t i1, size_t i2, size_t i3, size_t i4, size_t i5, size_t i6, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| T & | get_base1_lhs (std::vector< std::vector< std::vector< std::vector< std::vector< std::vector< std::vector< T > > > > > > > &x, size_t i1, size_t i2, size_t i3, size_t i4, size_t i5, size_t i6, size_t i7, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| T & | get_base1_lhs (std::vector< std::vector< std::vector< std::vector< std::vector< std::vector< std::vector< std::vector< T > > > > > > > > &x, size_t i1, size_t i2, size_t i3, size_t i4, size_t i5, size_t i6, size_t i7, size_t i8, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified vector at the specified base-one indexes. More... | |
| template<typename T > | |
| Eigen::Block< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > | get_base1_lhs (Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &x, size_t m, const char *error_msg, size_t idx) |
| Return a copy of the row of the specified vector at the specified base-one row index. More... | |
| template<typename T > | |
| T & | get_base1_lhs (Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &x, size_t m, size_t n, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified matrix at the specified base-one row and column indexes. More... | |
| template<typename T > | |
| T & | get_base1_lhs (Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, size_t m, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified column vector at the specified base-one index. More... | |
| template<typename T > | |
| T & | get_base1_lhs (Eigen::Matrix< T, 1, Eigen::Dynamic > &x, size_t n, const char *error_msg, size_t idx) |
| Return a reference to the value of the specified row vector at the specified base-one index. More... | |
| template<typename T_lp , typename T_lp_accum > | |
| return_type_t< T_lp, T_lp_accum > | get_lp (const T_lp &lp, const accumulator< T_lp_accum > &lp_accum) |
| template<typename T_x , typename T_sigma > | |
| Eigen::Matrix< return_type_t< T_x, T_sigma >, Eigen::Dynamic, Eigen::Dynamic > | gp_dot_prod_cov (const std::vector< Eigen::Matrix< T_x, Eigen::Dynamic, 1 >> &x, const T_sigma &sigma) |
| Returns a dot product covariance matrix. More... | |
| template<typename T_x , typename T_sigma > | |
| Eigen::Matrix< return_type_t< T_x, T_sigma >, Eigen::Dynamic, Eigen::Dynamic > | gp_dot_prod_cov (const std::vector< T_x > &x, const T_sigma &sigma) |
| Returns a dot product covariance matrix. More... | |
| template<typename T_x1 , typename T_x2 , typename T_sigma > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_sigma >, Eigen::Dynamic, Eigen::Dynamic > | gp_dot_prod_cov (const std::vector< Eigen::Matrix< T_x1, Eigen::Dynamic, 1 >> &x1, const std::vector< Eigen::Matrix< T_x2, Eigen::Dynamic, 1 >> &x2, const T_sigma &sigma) |
| Returns a dot product covariance matrix of differing x's. More... | |
| template<typename T_x1 , typename T_x2 , typename T_sigma > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_sigma >, Eigen::Dynamic, Eigen::Dynamic > | gp_dot_prod_cov (const std::vector< T_x1 > &x1, const std::vector< T_x2 > &x2, const T_sigma &sigma) |
| Returns a dot product covariance matrix of differing x's. More... | |
| template<typename T_x , typename T_sigma , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x, T_sigma, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_exp_quad_cov (const std::vector< T_x > &x, const T_sigma &sigma, const T_l &length_scale) |
| Returns a squared exponential kernel. More... | |
| template<typename T_x , typename T_sigma , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x, T_sigma, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_exp_quad_cov (const std::vector< Eigen::Matrix< T_x, -1, 1 >> &x, const T_sigma &sigma, const std::vector< T_l > &length_scale) |
| Returns a squared exponential kernel. More... | |
| template<typename T_x1 , typename T_x2 , typename T_sigma , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_sigma, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_exp_quad_cov (const std::vector< T_x1 > &x1, const std::vector< T_x2 > &x2, const T_sigma &sigma, const T_l &length_scale) |
| Returns a squared exponential kernel. More... | |
| template<typename T_x1 , typename T_x2 , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_exp_quad_cov (const std::vector< Eigen::Matrix< T_x1, -1, 1 >> &x1, const std::vector< Eigen::Matrix< T_x2, -1, 1 >> &x2, const T_s &sigma, const std::vector< T_l > &length_scale) |
| Returns a squared exponential kernel. More... | |
| template<> | |
| Eigen::MatrixXd | gp_exp_quad_cov (const std::vector< double > &x, const double &sigma, const double &length_scale) |
| Returns a squared exponential kernel. More... | |
| template<> | |
| Eigen::MatrixXd | gp_exp_quad_cov (const std::vector< Eigen::VectorXd > &x, const double &sigma, const double &length_scale) |
| Returns a squared exponential kernel. More... | |
| template<> | |
| Eigen::MatrixXd | gp_exp_quad_cov (const std::vector< Eigen::VectorXd > &x, const double &sigma, const std::vector< double > &length_scale) |
| Returns a squared exponential kernel. More... | |
| template<> | |
| Eigen::MatrixXd | gp_exp_quad_cov (const std::vector< double > &x1, const std::vector< double > &x2, const double &sigma, const double &length_scale) |
| Returns a squared exponential kernel. More... | |
| template<> | |
| Eigen::MatrixXd | gp_exp_quad_cov (const std::vector< Eigen::VectorXd > &x1, const std::vector< Eigen::VectorXd > &x2, const double &sigma, const double &length_scale) |
| Returns a squared exponential kernel. More... | |
| template<> | |
| Eigen::MatrixXd | gp_exp_quad_cov (const std::vector< Eigen::VectorXd > &x1, const std::vector< Eigen::VectorXd > &x2, const double &sigma, const std::vector< double > &length_scale) |
| Returns a squared exponential kernel. More... | |
| template<typename T_x , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_exponential_cov (const std::vector< T_x > &x, const T_s &sigma, const T_l &length_scale) |
| Returns a Matern exponential covariance Matrix. More... | |
| template<typename T_x , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_exponential_cov (const std::vector< Eigen::Matrix< T_x, -1, 1 >> &x, const T_s &sigma, const std::vector< T_l > &length_scale) |
| Returns a Matern exponential covariance matrix. More... | |
| template<typename T_x1 , typename T_x2 , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_exponential_cov (const std::vector< T_x1 > &x1, const std::vector< T_x2 > &x2, const T_s &sigma, const T_l &length_scale) |
| Returns a Matern exponential cross covariance matrix. More... | |
| template<typename T_x1 , typename T_x2 , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_exponential_cov (const std::vector< Eigen::Matrix< T_x1, -1, 1 >> &x1, const std::vector< Eigen::Matrix< T_x2, -1, 1 >> &x2, const T_s &sigma, const std::vector< T_l > &length_scale) |
| Returns a Matern exponential cross covariance matrix. More... | |
| template<typename T_x , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_matern32_cov (const std::vector< T_x > &x, const T_s &sigma, const T_l &length_scale) |
| Returns a Matern 3/2 covariance matrix. More... | |
| template<typename T_x , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_matern32_cov (const std::vector< Eigen::Matrix< T_x, -1, 1 >> &x, const T_s &sigma, const std::vector< T_l > &length_scale) |
| Returns a Matern 3/2 covariance matrix. More... | |
| template<typename T_x1 , typename T_x2 , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_matern32_cov (const std::vector< T_x1 > &x1, const std::vector< T_x2 > &x2, const T_s &sigma, const T_l &length_scale) |
| Returns a Matern 3/2 cross covariance matrix. More... | |
| template<typename T_x1 , typename T_x2 , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_matern32_cov (const std::vector< Eigen::Matrix< T_x1, -1, 1 >> &x1, const std::vector< Eigen::Matrix< T_x2, -1, 1 >> &x2, const T_s &sigma, const std::vector< T_l > &length_scale) |
| Returns a Matern 3/2 cross covariance matrix. More... | |
| template<typename T_x , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_matern52_cov (const std::vector< T_x > &x, const T_s &sigma, const T_l &length_scale) |
| Returns a Matern 5/2 covariance matrix with one input vector. More... | |
| template<typename T_x , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_matern52_cov (const std::vector< Eigen::Matrix< T_x, Eigen::Dynamic, 1 >> &x, const T_s &sigma, const std::vector< T_l > &length_scale) |
| Returns a Matern 5/2 covariance matrix with one input vector with automatic relevance determination (ARD). More... | |
| template<typename T_x1 , typename T_x2 , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_matern52_cov (const std::vector< T_x1 > &x1, const std::vector< T_x2 > &x2, const T_s &sigma, const T_l &length_scale) |
| Returns a Matern 5/2 covariance matrix with two different input vectors. More... | |
| template<typename T_x1 , typename T_x2 , typename T_s , typename T_l > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_s, T_l >, Eigen::Dynamic, Eigen::Dynamic > | gp_matern52_cov (const std::vector< Eigen::Matrix< T_x1, Eigen::Dynamic, 1 >> &x1, const std::vector< Eigen::Matrix< T_x2, Eigen::Dynamic, 1 >> &x2, const T_s &sigma, const std::vector< T_l > &length_scale) |
| Returns a Matern 5/2 covariance matrix with two input vectors with automatic relevance determination (ARD). More... | |
| template<typename T_x , typename T_sigma , typename T_l , typename T_p > | |
| Eigen::Matrix< return_type_t< T_x, T_sigma, T_l, T_p >, Eigen::Dynamic, Eigen::Dynamic > | gp_periodic_cov (const std::vector< T_x > &x, const T_sigma &sigma, const T_l &l, const T_p &p) |
| Returns a periodic covariance matrix \( \mathbf{K} \) using the input \( \mathbf{X} \). More... | |
| template<typename T_x1 , typename T_x2 , typename T_sigma , typename T_l , typename T_p > | |
| Eigen::Matrix< return_type_t< T_x1, T_x2, T_sigma, T_l, T_p >, Eigen::Dynamic, Eigen::Dynamic > | gp_periodic_cov (const std::vector< T_x1 > &x1, const std::vector< T_x2 > &x2, const T_sigma &sigma, const T_l &l, const T_p &p) |
| Returns a periodic covariance matrix \( \mathbf{K} \) using inputs \( \mathbf{X}_1 \) and \( \mathbf{X}_2 \). More... | |
| template<typename T > | |
| void | grad_2F1 (T &g_a1, T &g_b1, const T &a1, const T &a2, const T &b1, const T &z, const T &precision=1e-10, int max_steps=1e5) |
| Gradients of the hypergeometric function, 2F1. More... | |
| template<typename T > | |
| void | grad_F32 (T *g, const T &a1, const T &a2, const T &a3, const T &b1, const T &b2, const T &z, const T &precision=1e-6, int max_steps=1e5) |
| Gradients of the hypergeometric function, 3F2. More... | |
| void | grad_inc_beta (double &g1, double &g2, double a, double b, double z) |
| template<typename T > | |
| void | grad_reg_inc_beta (T &g1, T &g2, const T &a, const T &b, const T &z, const T &digammaA, const T &digammaB, const T &digammaSum, const T &betaAB) |
| Computes the gradients of the regularized incomplete beta function. More... | |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2 > | grad_reg_inc_gamma (T1 a, T2 z, T1 g, T1 dig, double precision=1e-6, int max_steps=1e5) |
| Gradient of the regularized incomplete gamma functions igamma(a, z) More... | |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2 > | grad_reg_lower_inc_gamma (const T1 &a, const T2 &z, double precision=1e-10, int max_steps=1e5) |
| Computes the gradient of the lower regularized incomplete gamma function. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | head (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &v, size_t n) |
| Return the specified number of elements as a vector from the front of the specified vector. More... | |
| template<typename T > | |
| Eigen::Matrix< T, 1, Eigen::Dynamic > | head (const Eigen::Matrix< T, 1, Eigen::Dynamic > &rv, size_t n) |
| Return the specified number of elements as a row vector from the front of the specified row vector. More... | |
| template<typename T > | |
| std::vector< T > | head (const std::vector< T > &sv, size_t n) |
| Return the specified number of elements as a standard vector from the front of the specified standard vector. More... | |
| template<typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| double | hypot (T1 x, T2 y) |
| Return the length of the hypotenuse of a right triangle with opposite and adjacent side lengths given by the specified arguments (C++11). More... | |
| template<typename T > | |
| T | identity_constrain (const T &x) |
| Returns the result of applying the identity constraint transform to the input. More... | |
| template<typename T > | |
| T | identity_constrain (const T &x, T &) |
| Returns the result of applying the identity constraint transform to the input and increments the log probability reference with the log absolute Jacobian determinant. More... | |
| template<typename T > | |
| T | identity_free (const T &y) |
| Returns the result of applying the inverse of the identity constraint transform to the input. More... | |
| Eigen::MatrixXd | identity_matrix (int K) |
| Return a square identity matrix. More... | |
| template<typename T_true , typename T_false > | |
| return_type_t< T_true, T_false > | if_else (const bool c, const T_true y_true, const T_false y_false) |
| Return the second argument if the first argument is true and otherwise return the second argument. More... | |
| double | inc_beta (double a, double b, double x) |
| The normalized incomplete beta function of a, b, with outcome x. More... | |
| template<typename T > | |
| T | inc_beta_dda (T a, T b, T z, T digamma_a, T digamma_ab) |
| Returns the partial derivative of the regularized incomplete beta function, I_{z}(a, b) with respect to a. More... | |
| template<typename T > | |
| T | inc_beta_ddb (T a, T b, T z, T digamma_b, T digamma_ab) |
| Returns the partial derivative of the regularized incomplete beta function, I_{z}(a, b) with respect to b. More... | |
| template<typename T > | |
| T | inc_beta_ddz (T a, T b, T z) |
| Returns the partial derivative of the regularized incomplete beta function, I_{z}(a, b) with respect to z. More... | |
| template<> | |
| double | inc_beta_ddz (double a, double b, double z) |
| template<typename T > | |
| void | initialize (T &x, const T &v) |
| template<typename T , typename V , typename = require_arithmetic_t<V>> | |
| void | initialize (T &x, V v) |
| template<typename T , int R, int C, typename V > | |
| void | initialize (Eigen::Matrix< T, R, C > &x, const V &v) |
| template<typename T , typename V > | |
| void | initialize (std::vector< T > &x, const V &v) |
| template<typename T > | |
| int | int_step (const T &y) |
| The integer step, or Heaviside, function. More... | |
| double | inv (double x) |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | inv (const T &x) |
| Vectorized version of inv(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | inv (const Eigen::MatrixBase< Derived > &x) |
| Version of inv() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | inv (const Eigen::ArrayBase< Derived > &x) |
| Version of inv() that accepts Eigen Array or array expressions. More... | |
| double | inv_cloglog (double x) |
| The inverse complementary log-log function. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | inv_cloglog (const T &x) |
| Vectorized version of inv_cloglog(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | inv_cloglog (const Eigen::MatrixBase< Derived > &x) |
| Version of inv_cloglog() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | inv_cloglog (const Eigen::ArrayBase< Derived > &x) |
| Version of inv_cloglog() that accepts Eigen Array or array expressions. More... | |
| double | inv_logit (double a) |
| Returns the inverse logit function applied to the argument. More... | |
| template<typename T > | |
| auto | inv_logit (const T &x) |
| Vectorized version of inv_logit(). More... | |
| double | inv_Phi (double p) |
| The inverse of the unit normal cumulative distribution function. More... | |
| template<typename T > | |
| auto | inv_Phi (const T &x) |
| Vectorized version of inv_Phi(). More... | |
| double | inv_sqrt (double x) |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | inv_sqrt (const T &x) |
| Vectorized version of inv_sqrt(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | inv_sqrt (const Eigen::MatrixBase< Derived > &x) |
| Version of inv_sqrt() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | inv_sqrt (const Eigen::ArrayBase< Derived > &x) |
| Version of inv_sqrt() that accepts Eigen Array or array expressions. More... | |
| double | inv_square (double x) |
| template<typename T > | |
| auto | inv_square (const T &x) |
| Vectorized version of inv_square(). More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, R, C > | inverse (const Eigen::Matrix< T, R, C > &m) |
| Returns the inverse of the specified matrix. More... | |
| template<typename Vector > | |
| void | inverse_softmax (const Vector &simplex, Vector &y) |
| Writes the inverse softmax of the simplex argument into the second argument. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | inverse_spd (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m) |
| Returns the inverse of the specified symmetric, pos/neg-definite matrix. More... | |
| template<typename T > | |
| bool | is_any_nan (T &&x) |
| Returns true if the input is NaN and false otherwise. More... | |
| template<typename T , typename... Ts> | |
| bool | is_any_nan (T &&x, Ts &&... xs) |
Returns true if any input is NaN and false otherwise. More... | |
| bool | is_inf (double x) |
| Returns true if the input is infinite and false otherwise. More... | |
| template<typename T > | |
| bool | is_integer (T x) |
| Returns true if the input is an integer and false otherwise. More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| bool | is_nan (T x) |
| Returns true if the input is NaN and false otherwise. More... | |
| template<typename T > | |
| bool | is_nonpositive_integer (T x) |
| Returns true if the input is a nonpositive integer and false otherwise. More... | |
| template<typename T > | |
| bool | is_uninitialized (T x) |
Returns true if the specified variable is uninitialized. More... | |
| template<typename ADType , require_autodiff_t< ADType > ...> | |
| bool | isfinite (ADType &&v) |
| Return true if specified argument is finite (not infinite and not not-a-number). More... | |
| template<typename ADType , require_autodiff_t< ADType > ...> | |
| bool | isinf (ADType &&v) |
| Return true if specified argument is infinite (positive or negative). More... | |
| template<typename ADType , require_autodiff_t< ADType > ...> | |
| bool | isnan (ADType &&v) |
| Return true if specified argument is not-a-number. More... | |
| template<typename ADType , require_autodiff_t< ADType > ...> | |
| bool | isnormal (ADType &&v) |
| Return true if specified argument is normal. More... | |
| template<typename T , typename L > | |
| return_type_t< T, L > | lb_constrain (const T &x, const L &lb) |
| Return the lower-bounded value for the specified unconstrained input and specified lower bound. More... | |
| template<typename T , typename L > | |
| return_type_t< T, L > | lb_constrain (const T &x, const L &lb, T &lp) |
| Return the lower-bounded value for the speicifed unconstrained input and specified lower bound, incrementing the specified reference with the log absolute Jacobian determinant of the transform. More... | |
| template<typename T , typename L > | |
| return_type_t< T, L > | lb_free (const T &y, const L &lb) |
| Return the unconstrained value that produces the specified lower-bound constrained value. More... | |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2 > | lbeta (const T1 a, const T2 b) |
| Return the log of the beta function applied to the specified arguments. More... | |
| template<typename T1 , typename = require_arithmetic_t<T1>> | |
| double | ldexp (T1 a, int b) |
| Returns the product of a (the significand) and 2 to power b (the exponent). More... | |
| double | lgamma (double x) |
| Return the natural logarithm of the gamma function applied to the specified argument. More... | |
| double | lgamma (int x) |
| Return the natural logarithm of the gamma function applied to the specified argument. More... | |
| template<typename T > | |
| auto | lgamma (const T &x) |
| Vectorized version of lgamma(). More... | |
| template<typename T > | |
| return_type_t< T > | lgamma_stirling (const T x) |
| Return the Stirling approximation to the lgamma function. More... | |
| template<typename T > | |
| return_type_t< T > | lgamma_stirling_diff (const T x) |
| Return the difference between log of the gamma function and its Stirling approximation. More... | |
| std::vector< double > | linspaced_array (int K, double low, double high) |
| Return an array of linearly spaced elements. More... | |
| Eigen::RowVectorXd | linspaced_row_vector (int K, double low, double high) |
| Return a row vector of linearly spaced elements. More... | |
| Eigen::VectorXd | linspaced_vector (int K, double low, double high) |
| Return a vector of linearly spaced elements. More... | |
| template<typename T > | |
| return_type_t< T > | lmgamma (int k, T x) |
| Return the natural logarithm of the multivariate gamma function with the specified dimensions and argument. More... | |
| double | log (int x) |
| Return the natural log of the specified argument. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | log (const T &x) |
| Return the elementwise natural log of the specified argument, which may be a scalar or any Stan container of numeric scalars. More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | log (const Eigen::MatrixBase< Derived > &x) |
| Version of log() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | log10 (const T &x) |
| Vectorized version of log10(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | log10 (const Eigen::MatrixBase< Derived > &x) |
| Version of log10() that accepts Eigen Matrix or matrix expressions. More... | |
| double | log1m (double x) |
| Return the natural logarithm of one minus the specified value. More... | |
| template<typename T > | |
| auto | log1m (const T &x) |
| Vectorized version of log1m(). More... | |
| double | log1m_exp (double a) |
| Calculates the natural logarithm of one minus the exponential of the specified value without overflow,. More... | |
| template<typename T > | |
| auto | log1m_exp (const T &x) |
| Vectorized version of log1m_exp(). More... | |
| double | log1m_inv_logit (double u) |
| Returns the natural logarithm of 1 minus the inverse logit of the specified argument. More... | |
| double | log1m_inv_logit (int u) |
| Return the natural logarithm of one minus the inverse logit of the specified argument. More... | |
| template<typename T > | |
| apply_scalar_unary< log1m_inv_logit_fun, T >::return_t | log1m_inv_logit (const T &x) |
Return the elementwise application of log1m_inv_logit() to specified argument container. More... | |
| double | log1p (double x) |
| Return the natural logarithm of one plus the specified value. More... | |
| double | log1p (int x) |
| Return the natural logarithm of one plus the specified argument. More... | |
| template<typename T > | |
| auto | log1p (const T &x) |
Return the elementwise application of log1p() to specified argument container. More... | |
| double | log1p_exp (double a) |
| Calculates the log of 1 plus the exponential of the specified value without overflow. More... | |
| template<typename T > | |
| auto | log1p_exp (const T &x) |
| Vectorized version of log1m_exp(). More... | |
| template<typename T , typename = require_arithmetic_t<T>> | |
| double | log2 (T u) |
| Returns the base two logarithm of the argument (C99, C++11). More... | |
| double | log2 () |
| Return natural logarithm of two. More... | |
| template<typename T , typename = require_vector_like_t<T>> | |
| auto | log2 (const T &x) |
Return the elementwise application of log2() to specified argument container. More... | |
| template<typename T , int R, int C> | |
| T | log_determinant (const Eigen::Matrix< T, R, C > &m) |
| Returns the log absolute determinant of the specified square matrix. More... | |
| template<int R, int C, typename T > | |
| T | log_determinant_ldlt (LDLT_factor< T, R, C > &A) |
| Returns log(abs(det(A))) given a LDLT_factor of A. More... | |
| template<typename T , int R, int C> | |
| T | log_determinant_spd (const Eigen::Matrix< T, R, C > &m) |
| Returns the log absolute determinant of the specified square matrix. More... | |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2 > | log_diff_exp (const T1 x, const T2 y) |
| The natural logarithm of the difference of the natural exponentiation of x and the natural exponentiation of y. More... | |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2 > | log_falling_factorial (const T1 x, const T2 n) |
| Return the natural log of the falling factorial of the specified arguments. More... | |
| double | log_inv_logit (double u) |
| Returns the natural logarithm of the inverse logit of the specified argument. More... | |
| double | log_inv_logit (int u) |
| Returns the natural logarithm of the inverse logit of the specified argument. More... | |
| template<typename T > | |
| auto | log_inv_logit (const T &x) |
Return the elementwise application of log_inv_logit() to specified argument container. More... | |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2 > | log_inv_logit_diff (const T1 &x, const T2 &y) |
| Returns the natural logarithm of the difference of the inverse logits of the specified arguments. More... | |
| double | log_mix (double theta, double lambda1, double lambda2) |
| Return the log mixture density with specified mixing proportion and log densities. More... | |
| double | log_mix (double theta, double lambda1, int lambda2) |
| Return the log mixture density with specified mixing proportion and log densities. More... | |
| double | log_mix (double theta, int lambda1, double lambda2) |
| Return the log mixture density with specified mixing proportion and log densities. More... | |
| double | log_mix (int theta, double lambda1, double lambda2) |
| Return the log mixture density with specified mixing proportion and log densities. More... | |
| double | log_mix (double theta, int lambda1, int lambda2) |
| Return the log mixture density with specified mixing proportion and log densities. More... | |
| double | log_mix (int theta, double lambda1, int lambda2) |
| Return the log mixture density with specified mixing proportion and log densities. More... | |
| double | log_mix (int theta, int lambda1, int lambda2) |
| Return the log mixture density with specified mixing proportion and log densities. More... | |
| template<typename T_theta , typename T_lam > | |
| return_type_t< T_theta, T_lam > | log_mix (const T_theta &theta, const T_lam &lambda) |
| Return the log mixture density with specified mixing proportions and log densities. More... | |
| template<typename T_theta , typename T_lam , int R, int C> | |
| return_type_t< T_theta, std::vector< Eigen::Matrix< T_lam, R, C > > > | log_mix (const T_theta &theta, const std::vector< Eigen::Matrix< T_lam, R, C >> &lambda) |
| Return the log mixture density given specified mixing proportions and array of log density vectors. More... | |
| template<typename T_theta , typename T_lam > | |
| return_type_t< T_theta, std::vector< std::vector< T_lam > > > | log_mix (const T_theta &theta, const std::vector< std::vector< T_lam >> &lambda) |
| Return the log mixture density given specified mixing proportions and array of log density arrays. More... | |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2, double > | log_modified_bessel_first_kind (const T1 v, const T2 z) |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2 > | log_rising_factorial (const T1 &x, const T2 &n) |
| Return the natural logarithm of the rising factorial from the first specified argument to the second. More... | |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2 > | log_sum_exp (const T2 &a, const T1 &b) |
| Calculates the log sum of exponetials without overflow. More... | |
| template<typename T1 , typename T2 > | |
| int | logical_and (const T1 x1, const T2 x2) |
| The logical and function which returns 1 if both arguments are unequal to zero and 0 otherwise. More... | |
| template<typename T1 , typename T2 > | |
| int | logical_eq (const T1 x1, const T2 x2) |
| Return 1 if the first argument is equal to the second. More... | |
| template<typename T1 , typename T2 > | |
| bool | logical_gt (const T1 x1, const T2 x2) |
| Return 1 if the first argument is strictly greater than the second. More... | |
| template<typename T1 , typename T2 > | |
| bool | logical_gte (const T1 x1, const T2 x2) |
| Return 1 if the first argument is greater than or equal to the second. More... | |
| template<typename T1 , typename T2 > | |
| bool | logical_lt (T1 x1, T2 x2) |
| Return 1 if the first argument is strictly less than the second. More... | |
| template<typename T1 , typename T2 > | |
| bool | logical_lte (const T1 x1, const T2 x2) |
| Return 1 if the first argument is less than or equal to the second. More... | |
| template<typename T > | |
| int | logical_negation (const T &x) |
| The logical negation function which returns one if the input is equal to zero and zero otherwise. More... | |
| template<typename T1 , typename T2 > | |
| int | logical_neq (const T1 x1, const T2 x2) |
| Return 1 if the first argument is unequal to the second. More... | |
| template<typename T1 , typename T2 > | |
| int | logical_or (T1 x1, T2 x2) |
| The logical or function which returns 1 if either argument is unequal to zero and 0 otherwise. More... | |
| double | logit (double u) |
| Return the log odds of the argument. More... | |
| double | logit (int u) |
| Return the log odds of the argument. More... | |
| template<typename T > | |
| auto | logit (const T &x) |
Return the elementwise application of logit() to specified argument container. More... | |
| template<typename T , typename L , typename U > | |
| return_type_t< T, L, U > | lub_constrain (const T &x, const L &lb, const U &ub) |
| Return the lower- and upper-bounded scalar derived by transforming the specified free scalar given the specified lower and upper bounds. More... | |
| template<typename T , typename L , typename U > | |
| return_type_t< T, L, U > | lub_constrain (const T &x, const L &lb, const U &ub, T &lp) |
| Return the lower- and upper-bounded scalar derived by transforming the specified free scalar given the specified lower and upper bounds and increment the specified log probability with the log absolute Jacobian determinant. More... | |
| template<typename T , typename L , typename U > | |
| return_type_t< T, L, U > | lub_free (const T &y, const L &lb, const U &ub) |
| Return the unconstrained scalar that transforms to the specified lower- and upper-bounded scalar given the specified bounds. More... | |
| template<typename T > | |
| Eigen::Array< T, Eigen::Dynamic, 1 > | make_nu (const T &eta, size_t K) |
| Return the degrees of freedom for the t distribution that corresponds to the shape parameter in the LKJ distribution. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | matrix_exp (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &A) |
| Return the matrix exponential of the input matrix. More... | |
| template<typename T , int N> | |
| Eigen::Matrix< T, N, N > | matrix_exp (const Eigen::Matrix< T, N, N > &A) |
| Return the matrix exponential of the input statically-sized square matrix. More... | |
| template<typename T > | |
| Eigen::Matrix< T, 1, 1 > | matrix_exp (const Eigen::Matrix< T, 1, 1 > &A) |
| Return the exponential of the input scalar when it's in the form of Eigen matrix. More... | |
| template<typename Mtype > | |
| Mtype | matrix_exp_2x2 (const Mtype &A) |
| Return the matrix exponential of a 2x2 matrix. More... | |
| template<int Cb> | |
| Eigen::Matrix< double, -1, Cb > | matrix_exp_multiply (const Eigen::MatrixXd &A, const Eigen::Matrix< double, -1, Cb > &B) |
| Return product of exp(A) and B, where A is a NxN double matrix, B is a NxCb double matrix, and t is a double. More... | |
| template<typename MatrixType > | |
| MatrixType | matrix_exp_pade (const MatrixType &arg) |
| Computes the matrix exponential, using a Pade approximation, coupled with scaling and squaring. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, R, C > | matrix_power (const Eigen::Matrix< T, R, C > &M, const int n) |
| Returns the nth power of the specific matrix. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, R, C > | operator^ (const Eigen::Matrix< T, R, C > &M, const int n) |
| int | max (const std::vector< int > &x) |
| Returns the maximum coefficient in the specified column vector. More... | |
| template<typename T > | |
| T | max (const std::vector< T > &x) |
| Returns the maximum coefficient in the specified column vector. More... | |
| template<typename T , int R, int C> | |
| T | max (const Eigen::Matrix< T, R, C > &m) |
| Returns the maximum coefficient in the specified matrix, vector, or row vector. More... | |
| template<typename T1 , typename T2 > | |
| size_t | max_size (const T1 &x1, const T2 &x2) |
| template<typename T1 , typename T2 , typename T3 > | |
| size_t | max_size (const T1 &x1, const T2 &x2, const T3 &x3) |
| template<typename T1 , typename T2 , typename T3 , typename T4 > | |
| size_t | max_size (const T1 &x1, const T2 &x2, const T3 &x3, const T4 &x4) |
| template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
| size_t | max_size (const T1 &x1, const T2 &x2, const T3 &x3, const T4 &x4, const T5 &x5) |
| template<typename T1 , typename T2 > | |
| size_t | max_size_mvt (const T1 &x1, const T2 &x2) |
| template<typename T1 , typename T2 , typename T3 > | |
| size_t | max_size_mvt (const T1 &x1, const T2 &x2, const T3 &x3) |
| template<typename T1 , typename T2 , typename T3 , typename T4 > | |
| size_t | max_size_mvt (const T1 &x1, const T2 &x2, const T3 &x3, const T4 &x4) |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R1, C2 > | mdivide_left (const Eigen::Matrix< T1, R1, C1 > &A, const Eigen::Matrix< T2, R2, C2 > &b) |
| Returns the solution of the system Ax=b. More... | |
| template<int R1, int C1, int R2, int C2, typename T1 , typename T2 > | |
| Eigen::Matrix< return_type_t< T1, T2 >, R1, C2 > | mdivide_left_ldlt (const LDLT_factor< T1, R1, C1 > &A, const Eigen::Matrix< T2, R2, C2 > &b) |
| Returns the solution of the system Ax=b given an LDLT_factor of A. More... | |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R1, C2 > | mdivide_left_spd (const Eigen::Matrix< T1, R1, C1 > &A, const Eigen::Matrix< T2, R2, C2 > &b) |
| Returns the solution of the system Ax=b where A is symmetric positive definite. More... | |
| template<int TriView, typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R1, C2 > | mdivide_left_tri (const Eigen::Matrix< T1, R1, C1 > &A, const Eigen::Matrix< T2, R2, C2 > &b) |
| Returns the solution of the system Ax=b when A is triangular. More... | |
| template<int TriView, typename T , int R1, int C1> | |
| Eigen::Matrix< T, R1, C1 > | mdivide_left_tri (const Eigen::Matrix< T, R1, C1 > &A) |
| Returns the solution of the system Ax=b when A is triangular and b=I. More... | |
| template<Eigen::UpLoType TriView, int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< double, R1, C2 > | mdivide_left_tri (const Eigen::Matrix< double, R1, C1 > &A, const Eigen::Matrix< double, R2, C2 > &b) |
| Returns the solution of the system Ax=b when A is triangular and A and b are matrices of doubles. More... | |
| template<Eigen::UpLoType TriView, int R1, int C1> | |
| Eigen::Matrix< double, R1, C1 > | mdivide_left_tri (const Eigen::Matrix< double, R1, C1 > &A) |
| Returns the solution of the system Ax=b when A is triangular, b=I and both are matrices of doubles. More... | |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R1, C2 > | mdivide_left_tri_low (const Eigen::Matrix< T1, R1, C1 > &A, const Eigen::Matrix< T2, R2, C2 > &b) |
| Return the result of left dividing the second argument by the first argument. More... | |
| template<typename T , int R1, int C1> | |
| Eigen::Matrix< T, R1, C1 > | mdivide_left_tri_low (const Eigen::Matrix< T, R1, C1 > &A) |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R1, C2 > | mdivide_right (const Eigen::Matrix< T1, R1, C1 > &b, const Eigen::Matrix< T2, R2, C2 > &A) |
| Returns the solution of the system xA=b. More... | |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R1, C2 > | mdivide_right_ldlt (const Eigen::Matrix< T1, R1, C1 > &b, const LDLT_factor< T2, R2, C2 > &A) |
| Returns the solution of the system xA=b given an LDLT_factor of A. More... | |
| template<int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< double, R1, C2 > | mdivide_right_ldlt (const Eigen::Matrix< double, R1, C1 > &b, const LDLT_factor< double, R2, C2 > &A) |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R1, C2 > | mdivide_right_spd (const Eigen::Matrix< T1, R1, C1 > &b, const Eigen::Matrix< T2, R2, C2 > &A) |
| Returns the solution of the system xA=b where A is symmetric positive definite. More... | |
| template<Eigen::UpLoType TriView, typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R1, C2 > | mdivide_right_tri (const Eigen::Matrix< T1, R1, C1 > &b, const Eigen::Matrix< T2, R2, C2 > &A) |
| Returns the solution of the system xA=b when A is triangular. More... | |
| template<Eigen::UpLoType TriView, int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< double, R1, C2 > | mdivide_right_tri (const Eigen::Matrix< double, R1, C1 > &b, const Eigen::Matrix< double, R2, C2 > &A) |
| Returns the solution of the system xA=b when A is triangular and A and b are matrices of doubles. More... | |
| template<typename T1 , typename T2 , int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R1, C2 > | mdivide_right_tri_low (const Eigen::Matrix< T1, R1, C1 > &b, const Eigen::Matrix< T2, R2, C2 > &A) |
| Returns the solution of the system x tri(A) = b when tri(A) is a lower triangular view of the matrix A. More... | |
| template<typename T > | |
| return_type_t< T > | mean (const std::vector< T > &v) |
| Returns the sample mean (i.e., average) of the coefficients in the specified standard vector. More... | |
| template<typename T , int R, int C> | |
| return_type_t< T > | mean (const Eigen::Matrix< T, R, C > &m) |
| Returns the sample mean (i.e., average) of the coefficients in the specified vector, row vector, or matrix. More... | |
| int | min (const std::vector< int > &x) |
| Returns the minimum coefficient in the specified column vector. More... | |
| template<typename T > | |
| T | min (const std::vector< T > &x) |
| Returns the minimum coefficient in the specified column vector. More... | |
| template<typename T , int R, int C> | |
| T | min (const Eigen::Matrix< T, R, C > &m) |
| Returns the minimum coefficient in the specified matrix, vector, or row vector. More... | |
| template<typename T > | |
| plain_type_t< T > | minus (const T &x) |
| Returns the negation of the specified scalar or matrix. More... | |
| template<typename T2 > | |
| T2 | modified_bessel_first_kind (int v, const T2 z) |
\[ \mbox{modified\_bessel\_first\_kind}(v, z) = \begin{cases} I_v(z) & \mbox{if } -\infty\leq z \leq \infty \\[6pt] \textrm{error} & \mbox{if } z = \textrm{NaN} \end{cases} \] More... | |
| template<typename T2 > | |
| T2 | modified_bessel_second_kind (int v, const T2 z) |
\[ \mbox{modified\_bessel\_second\_kind}(v, z) = \begin{cases} \textrm{error} & \mbox{if } z \leq 0 \\ K_v(z) & \mbox{if } z > 0 \\[6pt] \textrm{NaN} & \mbox{if } z = \textrm{NaN} \end{cases} \] More... | |
| int | modulus (int x, int y) |
| template<int R, int C, typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | multiply (const Eigen::Matrix< T1, R, C > &m, T2 c) |
| Return specified matrix multiplied by specified scalar. More... | |
| template<int R, int C, typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | multiply (T1 c, const Eigen::Matrix< T2, R, C > &m) |
| Return specified scalar multiplied by specified matrix. More... | |
| template<int R1, int C1, int R2, int C2, typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R1, C2 > | multiply (const Eigen::Matrix< T1, R1, C1 > &m1, const Eigen::Matrix< T2, R2, C2 > &m2) |
| Return the product of the specified matrices. More... | |
| template<int C1, int R2, typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| return_type_t< T1, T2 > | multiply (const Eigen::Matrix< T1, 1, C1 > &rv, const Eigen::Matrix< T2, R2, 1 > &v) |
| Return the scalar product of the specified row vector and specified column vector. More... | |
| template<typename T1 , typename T2 , typename = require_all_arithmetic_t<T1, T2>> | |
| return_type_t< T1, T2 > | multiply (T1 m, T2 c) |
| Return product of scalars. More... | |
| template<typename T_a , typename T_b > | |
| return_type_t< T_a, T_b > | multiply_log (const T_a a, const T_b b) |
| Calculate the value of the first argument times log of the second argument while behaving properly with 0 inputs. More... | |
| matrix_d | multiply_lower_tri_self_transpose (const matrix_d &L) |
| Returns the result of multiplying the lower triangular portion of the input matrix by its own transpose. More... | |
| template<typename T > | |
| int | num_elements (const T &x) |
| Returns 1, the number of elements in a primitive type. More... | |
| template<typename T , int R, int C> | |
| int | num_elements (const Eigen::Matrix< T, R, C > &m) |
| Returns the size of the specified matrix. More... | |
| template<typename T > | |
| int | num_elements (const std::vector< T > &v) |
| Returns the number of elements in the specified vector. More... | |
| template<typename T , typename M , typename S > | |
| return_type_t< T, M, S > | offset_multiplier_constrain (const T &x, const M &mu, const S &sigma) |
| Return the linearly transformed value for the specified unconstrained input and specified offset and multiplier. More... | |
| template<typename T , typename M , typename S > | |
| return_type_t< T, M, S > | offset_multiplier_constrain (const T &x, const M &mu, const S &sigma, T &lp) |
| Return the linearly transformed value for the specified unconstrained input and specified offset and multiplier, incrementing the specified reference with the log absolute Jacobian determinant of the transform. More... | |
| template<typename T , typename L , typename S > | |
| return_type_t< T, L, S > | offset_multiplier_free (const T &y, const L &mu, const S &sigma) |
| Return the unconstrained scalar that transforms to the specified offset and multiplier constrained scalar given the specified offset and multiplier. More... | |
| std::vector< double > | one_hot_array (int K, int k) |
| Return an array with 1 in the k-th position and zero elsewhere. More... | |
| std::vector< int > | one_hot_int_array (int K, int k) |
| Return an integer array with 1 in the k-th position and zero elsewhere. More... | |
| Eigen::RowVectorXd | one_hot_row_vector (int K, int k) |
| Return a row vector with 1 in the k-th position and zero elsewhere. More... | |
| Eigen::VectorXd | one_hot_vector (int K, int k) |
| Return a vector with 1 in the k-th position and zero elsewhere. More... | |
| std::vector< double > | ones_array (int K) |
| Return an array of ones. More... | |
| std::vector< int > | ones_int_array (int K) |
| Return an integer array of ones. More... | |
| Eigen::RowVectorXd | ones_row_vector (int K) |
| Return a row vector of ones. More... | |
| Eigen::VectorXd | ones_vector (int K) |
| Return a vector of ones. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | ordered_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x) |
| Return an increasing ordered vector derived from the specified free vector. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | ordered_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, T &lp) |
| Return a positive valued, increasing ordered vector derived from the specified free vector and increment the specified log probability reference with the log absolute Jacobian determinant of the transform. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | ordered_free (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &y) |
| Return the vector of unconstrained scalars that transform to the specified positive ordered vector. More... | |
| double | owens_t (double h, double a) |
| Return the result of applying Owen's T function to the specified arguments. More... | |
| double | Phi (double x) |
| The unit normal cumulative distribution function. More... | |
| template<typename T > | |
| auto | Phi (const T &x) |
| Vectorized version of Phi(). More... | |
| double | Phi_approx (double x) |
| Return an approximation of the unit normal CDF. More... | |
| double | Phi_approx (int x) |
| Return an approximation of the unit normal CDF. More... | |
| template<typename T > | |
| auto | Phi_approx (const T &x) |
Return the elementwise application of Phi_approx() to specified argument container. More... | |
| template<typename T > | |
| T | positive_constrain (const T &x) |
| Return the positive value for the specified unconstrained input. More... | |
| template<typename T > | |
| T | positive_constrain (const T &x, T &lp) |
| Return the positive value for the specified unconstrained input, incrementing the scalar reference with the log absolute Jacobian determinant. More... | |
| template<typename T > | |
| T | positive_free (const T &y) |
| Return the unconstrained value corresponding to the specified positive-constrained value. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | positive_ordered_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x) |
| Return an increasing positive ordered vector derived from the specified free vector. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | positive_ordered_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, T &lp) |
| Return a positive valued, increasing positive ordered vector derived from the specified free vector and increment the specified log probability reference with the log absolute Jacobian determinant of the transform. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | positive_ordered_free (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &y) |
| Return the vector of unconstrained scalars that transform to the specified positive ordered vector. More... | |
| template<typename T > | |
| std::enable_if< std::is_arithmetic< T >::value, T >::type | primitive_value (T x) |
| Return the value of the specified arithmetic argument unmodified with its own declared type. More... | |
| template<typename T > | |
| std::enable_if<!std::is_arithmetic< T >::value, double >::type | primitive_value (const T &x) |
| Return the primitive value of the specified argument. More... | |
| template<typename T > | |
| T | prob_constrain (const T &x) |
| Return a probability value constrained to fall between 0 and 1 (inclusive) for the specified free scalar. More... | |
| template<typename T > | |
| T | prob_constrain (const T &x, T &lp) |
| Return a probability value constrained to fall between 0 and 1 (inclusive) for the specified free scalar and increment the specified log probability reference with the log absolute Jacobian determinant of the transform. More... | |
| template<typename T > | |
| T | prob_free (const T &y) |
| Return the free scalar that when transformed to a probability produces the specified scalar. More... | |
| template<typename T > | |
| T | prod (const std::vector< T > &v) |
| Returns the product of the coefficients of the specified standard vector. More... | |
| template<typename T , int R, int C> | |
| T | prod (const Eigen::Matrix< T, R, C > &v) |
| Returns the product of the coefficients of the specified column vector. More... | |
| template<typename T1 , typename T2 , typename F > | |
| common_type< T1, T2 >::type | promote_common (const F &u) |
| Return the result of promoting either a scalar or the scalar elements of a container to either of two specified types, as determined by stan::math::common_type. More... | |
| template<typename T , typename S > | |
| promote_scalar_type< T, S >::type | promote_scalar (const S &x) |
| This is the top-level function to call to promote the scalar types of an input of type S to type T. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | qr_Q (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m) |
| Returns the orthogonal factor of the fat QR decomposition. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | qr_R (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m) |
| Returns the upper triangular factor of the fat QR decomposition. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | qr_thin_Q (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m) |
| Returns the orthogonal factor of the thin QR decomposition. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | qr_thin_R (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m) |
| Returns the upper triangular factor of the thin QR decomposition. More... | |
| template<int RA, int CA, int RB, int CB, typename T > | |
| Eigen::Matrix< T, CB, CB > | quad_form (const Eigen::Matrix< T, RA, CA > &A, const Eigen::Matrix< T, RB, CB > &B) |
| Compute B^T A B. More... | |
| template<int RA, int CA, int RB, typename T > | |
| T | quad_form (const Eigen::Matrix< T, RA, CA > &A, const Eigen::Matrix< T, RB, 1 > &B) |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, Eigen::Dynamic, Eigen::Dynamic > | quad_form_diag (const Eigen::Matrix< T1, Eigen::Dynamic, Eigen::Dynamic > &mat, const Eigen::Matrix< T2, R, C > &vec) |
| template<int RA, int CA, int RB, int CB, typename T > | |
| Eigen::Matrix< T, CB, CB > | quad_form_sym (const Eigen::Matrix< T, RA, CA > &A, const Eigen::Matrix< T, RB, CB > &B) |
| template<int RA, int CA, int RB, typename T > | |
| T | quad_form_sym (const Eigen::Matrix< T, RA, CA > &A, const Eigen::Matrix< T, RB, 1 > &B) |
| template<typename C > | |
| int | rank (const C &v, int s) |
| Return the number of components of v less than v[s]. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | read_corr_L (const Eigen::Array< T, Eigen::Dynamic, 1 > &CPCs, size_t K) |
| Return the Cholesky factor of the correlation matrix of the specified dimensionality corresponding to the specified canonical partial correlations. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | read_corr_L (const Eigen::Array< T, Eigen::Dynamic, 1 > &CPCs, size_t K, T &log_prob) |
| Return the Cholesky factor of the correlation matrix of the specified dimensionality corresponding to the specified canonical partial correlations, incrementing the specified scalar reference with the log absolute determinant of the Jacobian of the transformation. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | read_corr_matrix (const Eigen::Array< T, Eigen::Dynamic, 1 > &CPCs, size_t K) |
| Return the correlation matrix of the specified dimensionality corresponding to the specified canonical partial correlations. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | read_corr_matrix (const Eigen::Array< T, Eigen::Dynamic, 1 > &CPCs, size_t K, T &log_prob) |
| Return the correlation matrix of the specified dimensionality corresponding to the specified canonical partial correlations, incrementing the specified scalar reference with the log absolute determinant of the Jacobian of the transformation. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | read_cov_L (const Eigen::Array< T, Eigen::Dynamic, 1 > &CPCs, const Eigen::Array< T, Eigen::Dynamic, 1 > &sds, T &log_prob) |
| This is the function that should be called prior to evaluating the density of any elliptical distribution. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | read_cov_matrix (const Eigen::Array< T, Eigen::Dynamic, 1 > &CPCs, const Eigen::Array< T, Eigen::Dynamic, 1 > &sds, T &log_prob) |
| A generally worse alternative to call prior to evaluating the density of an elliptical distribution. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | read_cov_matrix (const Eigen::Array< T, Eigen::Dynamic, 1 > &CPCs, const Eigen::Array< T, Eigen::Dynamic, 1 > &sds) |
| Builds a covariance matrix from CPCs and standard deviations. More... | |
| template<typename T > | |
| std::vector< T > | rep_array (const T &x, int n) |
| template<typename T > | |
| std::vector< std::vector< T > > | rep_array (const T &x, int m, int n) |
| template<typename T > | |
| std::vector< std::vector< std::vector< T > > > | rep_array (const T &x, int k, int m, int n) |
| template<typename T > | |
| Eigen::Matrix< return_type_t< T >, Eigen::Dynamic, Eigen::Dynamic > | rep_matrix (const T &x, int m, int n) |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | rep_matrix (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &v, int n) |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | rep_matrix (const Eigen::Matrix< T, 1, Eigen::Dynamic > &rv, int m) |
| template<typename T > | |
| Eigen::Matrix< return_type_t< T >, 1, Eigen::Dynamic > | rep_row_vector (const T &x, int m) |
| template<typename T > | |
| Eigen::Matrix< return_type_t< T >, Eigen::Dynamic, 1 > | rep_vector (const T &x, int n) |
| template<typename T > | |
| void | resize (T &x, std::vector< int > dims) |
| Recursively resize the specified vector of vectors, which must bottom out at scalar values, Eigen vectors or Eigen matrices. More... | |
| template<typename T > | |
| std::vector< T > | reverse (const std::vector< T > &x) |
| Return a copy of the specified array in reversed order. More... | |
| template<typename T , typename = require_eigen_vector_t<T>> | |
| auto | reverse (const T &x) |
| Return a copy of the specified vector or row vector in reversed order. More... | |
| template<typename T > | |
| return_type_t< T > | rising_factorial (const T &x, int n) |
| Return the rising factorial function evaluated at the inputs. More... | |
| double | round (double x) |
| Return the closest integer to the specified argument, with halfway cases rounded away from zero. More... | |
| double | round (int x) |
| Return the closest integer to the specified argument, with halfway cases rounded away from zero. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | round (const T &x) |
| Vectorized version of round. More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | round (const Eigen::MatrixBase< Derived > &x) |
| Version of round() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename T > | |
| Eigen::Matrix< T, 1, Eigen::Dynamic > | row (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m, size_t i) |
| Return the specified row of the specified matrix, using start-at-1 indexing. More... | |
| template<typename T , int R, int C> | |
| int | rows (const Eigen::Matrix< T, R, C > &m) |
| Return the number of rows in the specified matrix, vector, or row vector. More... | |
| template<int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< double, R1, 1 > | rows_dot_product (const Eigen::Matrix< double, R1, C1 > &v1, const Eigen::Matrix< double, R2, C2 > &v2) |
| Returns the dot product of the specified vectors. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, R, 1 > | rows_dot_self (const Eigen::Matrix< T, R, C > &x) |
| Returns the dot product of each row of a matrix with itself. More... | |
| template<int Cb> | |
| Eigen::Matrix< double, -1, Cb > | scale_matrix_exp_multiply (const double &t, const Eigen::MatrixXd &A, const Eigen::Matrix< double, -1, Cb > &B) |
| Return product of exp(At) and B, where A is a NxN double matrix, B is a NxCb double matrix, and t is a double. More... | |
| template<typename Tt , typename Ta , typename Tb , int Cb> | |
| Eigen::Matrix< return_type_t< Tt, Ta, Tb >, -1, Cb > | scale_matrix_exp_multiply (const Tt &t, const Eigen::Matrix< Ta, -1, -1 > &A, const Eigen::Matrix< Tb, -1, Cb > &B) |
| Return product of exp(At) and B, where A is a NxN matrix, B is a NxCb matrix and t is a scalar. More... | |
| void | scaled_add (std::vector< double > &x, const std::vector< double > &y, double lambda) |
| template<typename T > | |
| return_type_t< T > | sd (const std::vector< T > &v) |
| Returns the unbiased sample standard deviation of the coefficients in the specified column vector. More... | |
| template<typename T , int R, int C> | |
| return_type_t< T > | sd (const Eigen::Matrix< T, R, C > &m) |
| Returns the unbiased sample standard deviation of the coefficients in the specified vector, row vector, or matrix. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | segment (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &v, size_t i, size_t n) |
| Return the specified number of elements as a vector starting from the specified element - 1 of the specified vector. More... | |
| template<typename T > | |
| Eigen::Matrix< T, 1, Eigen::Dynamic > | segment (const Eigen::Matrix< T, 1, Eigen::Dynamic > &v, size_t i, size_t n) |
| template<typename T > | |
| std::vector< T > | segment (const std::vector< T > &sv, size_t i, size_t n) |
| template<typename T > | |
| int | sign (const T &z) |
| template<typename ADType , require_autodiff_t< ADType > ...> | |
| bool | signbit (ADType &&v) |
Return true if the specified argument is negative and false otherwise. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | simplex_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &y) |
| Return the simplex corresponding to the specified free vector. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | simplex_constrain (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &y, T &lp) |
| Return the simplex corresponding to the specified free vector and increment the specified log probability reference with the log absolute Jacobian determinant of the transform. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | simplex_free (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x) |
| Return an unconstrained vector that when transformed produces the specified simplex. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | sin (const T &x) |
| Vectorized version of sin(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | sin (const Eigen::MatrixBase< Derived > &x) |
| Version of sin() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | singular_values (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m) |
| Return the vector of the singular values of the specified matrix in decreasing order of magnitude. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | sinh (const T &x) |
| Vectorized version of sinh(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | sinh (const Eigen::MatrixBase< Derived > &x) |
| Version of sinh() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | sinh (const Eigen::ArrayBase< Derived > &x) |
| Version of acos() that accepts Eigen Array or array expressions. More... | |
| template<typename T , typename = require_stan_scalar_t<T>> | |
| size_t | size (const T &) |
| Returns the length of primitive scalar types that are always of length 1. More... | |
| template<typename T , typename = require_not_stan_scalar_t<T>, typename = void> | |
| size_t | size (const T &m) |
| Returns the size of the provided Eigen matrix, expression or std::vector. More... | |
| template<typename T > | |
| size_t | size_mvt (const T &) |
| Provides the size of a multivariate argument. More... | |
| template<typename T , int R, int C> | |
| size_t | size_mvt (const Eigen::Matrix< T, R, C > &) |
| template<typename T , int R, int C> | |
| size_t | size_mvt (const std::vector< Eigen::Matrix< T, R, C > > &x) |
| template<typename T > | |
| bool | size_zero (T &x) |
| Returns 1 if input is of length 0, returns 0 otherwise. More... | |
| template<typename T , typename... Ts> | |
| bool | size_zero (T &x, Ts &&... xs) |
| Returns 1 if any inputs are of length 0, returns 0 otherwise. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | softmax (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &v) |
| Return the softmax of the specified vector. More... | |
| template<typename T > | |
| std::vector< T > | sort_asc (std::vector< T > xs) |
| Return the specified standard vector in ascending order. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, R, C > | sort_asc (Eigen::Matrix< T, R, C > xs) |
| Return the specified vector in ascending order. More... | |
| template<typename T > | |
| std::vector< T > | sort_desc (std::vector< T > xs) |
| Return the specified standard vector in descending order. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, R, C > | sort_desc (Eigen::Matrix< T, R, C > xs) |
| Return the specified vector in descending order. More... | |
| template<bool ascending, typename C > | |
| std::vector< int > | sort_indices (const C &xs) |
| Return an integer array of indices of the specified container sorting the values in ascending or descending order based on the value of the first template prameter. More... | |
| template<typename C > | |
| std::vector< int > | sort_indices_asc (const C &xs) |
| Return a sorted copy of the argument container in ascending order. More... | |
| template<typename C > | |
| std::vector< int > | sort_indices_desc (const C &xs) |
| Return a sorted copy of the argument container in ascending order. More... | |
| double | sqrt (int x) |
| Return the square root of the specified argument. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | sqrt (const T &x) |
| Vectorized version of sqrt(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | sqrt (const Eigen::MatrixBase< Derived > &x) |
| Version of sqrt() that accepts Eigen Matrix or matrix expressions. More... | |
| double | square (double x) |
| Return the square of the specified argument. More... | |
| template<typename T > | |
| auto | square (const T &x) |
| Vectorized version of square(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | square (const Eigen::MatrixBase< Derived > &x) |
| Version of square() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename T1 , typename T2 > | |
| return_type_t< T1, T2 > | squared_distance (const T1 &x1, const T2 &x2) |
| Returns the squared distance. More... | |
| template<int R, int C> | |
| double | squared_distance (const Eigen::Matrix< double, R, C > &v1, const Eigen::Matrix< double, R, C > &v2) |
| Returns the squared distance between the specified vectors of the same dimensions. More... | |
| template<int R1, int C1, int R2, int C2> | |
| double | squared_distance (const Eigen::Matrix< double, R1, C1 > &v1, const Eigen::Matrix< double, R2, C2 > &v2) |
| Returns the squared distance between the specified vectors of the same dimensions. More... | |
| template<typename T > | |
| void | stan_print (std::ostream *o, const T &x) |
| template<typename T > | |
| void | stan_print (std::ostream *o, const std::vector< T > &x) |
| template<typename T > | |
| void | stan_print (std::ostream *o, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x) |
| template<typename T > | |
| void | stan_print (std::ostream *o, const Eigen::Matrix< T, 1, Eigen::Dynamic > &x) |
| template<typename T > | |
| void | stan_print (std::ostream *o, const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &x) |
| template<typename T > | |
| double | step (const T &y) |
| The step, or Heaviside, function. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | sub_col (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m, size_t i, size_t j, size_t nrows) |
| Return a nrows x 1 subcolumn starting at (i-1, j-1). More... | |
| template<typename T > | |
| Eigen::Matrix< T, 1, Eigen::Dynamic > | sub_row (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m, size_t i, size_t j, size_t ncols) |
| Return a 1 x nrows subrow starting at (i-1, j-1). More... | |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | subtract (const Eigen::Matrix< T1, R, C > &m1, const Eigen::Matrix< T2, R, C > &m2) |
| Return the result of subtracting the second specified matrix from the first specified matrix. More... | |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | subtract (const T1 &c, const Eigen::Matrix< T2, R, C > &m) |
| template<typename T1 , typename T2 , int R, int C> | |
| Eigen::Matrix< return_type_t< T1, T2 >, R, C > | subtract (const Eigen::Matrix< T1, R, C > &m, const T2 &c) |
| double | sum (double v) |
| Returns specified input value. More... | |
| int | sum (int v) |
| Returns specified input value. More... | |
| template<typename T > | |
| T | sum (const std::vector< T > &xs) |
| Return the sum of the values in the specified standard vector. More... | |
| template<typename Derived > | |
| Eigen::DenseBase< Derived >::Scalar | sum (const Eigen::DenseBase< Derived > &v) |
| Returns the sum of the coefficients of the specified Eigen Matrix, Array or expression. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | tail (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &v, size_t n) |
| Return the specified number of elements as a vector from the back of the specified vector. More... | |
| template<typename T > | |
| Eigen::Matrix< T, 1, Eigen::Dynamic > | tail (const Eigen::Matrix< T, 1, Eigen::Dynamic > &rv, size_t n) |
| Return the specified number of elements as a row vector from the back of the specified row vector. More... | |
| template<typename T > | |
| std::vector< T > | tail (const std::vector< T > &sv, size_t n) |
| Return the specified number of elements as a standard vector from the back of the specified standard vector. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | tan (const T &x) |
| Vectorized version of tan(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | tan (const Eigen::MatrixBase< Derived > &x) |
| Version of tan() that accepts Eigen Matrix or matrix expressions. More... | |
| template<typename T , typename = require_not_eigen_vt<std::is_arithmetic, T>> | |
| auto | tanh (const T &x) |
| Vectorized version of tanh(). More... | |
| template<typename Derived , typename = require_eigen_vt<std::is_arithmetic, Derived>> | |
| auto | tanh (const Eigen::MatrixBase< Derived > &x) |
| Version of tanh() that accepts Eigen Matrix or matrix expressions. More... | |
| template<int R, int C> | |
| Eigen::MatrixXd | tcrossprod (const Eigen::Matrix< double, R, C > &M) |
| Returns the result of post-multiplying a matrix by its own transpose. More... | |
| double | tgamma (double x) |
| Return the gamma function applied to the specified argument. More... | |
| template<typename T > | |
| auto | tgamma (const T &x) |
| Vectorized version of tgamma(). More... | |
| template<typename T , int R, int C> | |
| std::vector< T > | to_array_1d (const Eigen::Matrix< T, R, C > &matrix) |
| template<typename T > | |
| std::vector< T > | to_array_1d (const std::vector< T > &x) |
| template<typename T > | |
| std::vector< typename scalar_type< T >::type > | to_array_1d (const std::vector< std::vector< T > > &x) |
| template<typename T > | |
| std::vector< std::vector< T > > | to_array_2d (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &matrix) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | to_matrix (const Eigen::Matrix< T, R, C > &x) |
| Returns a matrix with dynamic dimensions constructed from an Eigen matrix which is either a row vector, column vector, or matrix. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | to_matrix (const std::vector< Eigen::Matrix< T, 1, Eigen::Dynamic > > &x) |
| Returns a matrix representation of a standard vector of Eigen row vectors with the same dimensions and indexing order. More... | |
| template<typename T > | |
| Eigen::Matrix< return_type_t< T, double >, Eigen::Dynamic, Eigen::Dynamic > | to_matrix (const std::vector< std::vector< T > > &x) |
| Returns a matrix representation of the standard vector of standard vectors with the same dimensions and indexing order. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | to_matrix (const Eigen::Matrix< T, R, C > &x, int m, int n) |
| Returns a matrix representation of the vector in column-major order with the specified number of rows and columns. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | to_matrix (const std::vector< T > &x, int m, int n) |
| Returns a matrix representation of the vector in column-major order with the specified number of rows and columns. More... | |
| Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > | to_matrix (const std::vector< int > &x, int m, int n) |
| Returns a matrix representation of the vector in column-major order with the specified number of rows and columns. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | to_matrix (const Eigen::Matrix< T, R, C > &x, int m, int n, bool col_major) |
| Returns a matrix representation of the vector in column-major order with the specified number of rows and columns. More... | |
| template<typename T > | |
| Eigen::Matrix< return_type_t< T, double >, Eigen::Dynamic, Eigen::Dynamic > | to_matrix (const std::vector< T > &x, int m, int n, bool col_major) |
| Returns a matrix representation of the vector in column-major order with the specified number of rows and columns. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, 1, Eigen::Dynamic > | to_row_vector (const Eigen::Matrix< T, R, C > &matrix) |
| template<typename T > | |
| Eigen::Matrix< T, 1, Eigen::Dynamic > | to_row_vector (const std::vector< T > &vec) |
| Eigen::Matrix< double, 1, Eigen::Dynamic > | to_row_vector (const std::vector< int > &vec) |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | to_vector (const Eigen::Matrix< T, R, C > &matrix) |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | to_vector (const std::vector< T > &vec) |
| Eigen::Matrix< double, Eigen::Dynamic, 1 > | to_vector (const std::vector< int > &vec) |
| template<typename T > | |
| T | trace (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &m) |
| Returns the trace of the specified matrix. More... | |
| template<typename T > | |
| T | trace (const T &m) |
| template<typename T1 , typename T2 , typename T3 , int R1, int C1, int R2, int C2, int R3, int C3, typename = require_all_not_var_t<T1, T2, T3>> | |
| return_type_t< T1, T2, T3 > | trace_gen_inv_quad_form_ldlt (const Eigen::Matrix< T1, R1, C1 > &D, const LDLT_factor< T2, R2, C2 > &A, const Eigen::Matrix< T3, R3, C3 > &B) |
| template<typename TD , int RD, int CD, typename TA , int RA, int CA, typename TB , int RB, int CB, typename = require_all_not_var_t<TD, TA, TB>> | |
| return_type_t< TD, TA, TB > | trace_gen_quad_form (const Eigen::Matrix< TD, RD, CD > &D, const Eigen::Matrix< TA, RA, CA > &A, const Eigen::Matrix< TB, RB, CB > &B) |
| Return the trace of D times the quadratic form of B and A. More... | |
| template<int RD, int CD, int RA, int CA, typename TB , int RB, int CB> | |
| double | trace_gen_quad_form (const Eigen::Matrix< double, RD, CD > &D, const Eigen::Matrix< double, RA, CA > &A, const Eigen::Matrix< double, RB, CB > &B) |
| Return the trace of D times the quadratic form of B and A. More... | |
| template<typename T1 , typename T2 , int R2, int C2, int R3, int C3, typename = require_all_not_var_t<T1, T2>> | |
| return_type_t< T1, T2 > | trace_inv_quad_form_ldlt (const LDLT_factor< T1, R2, C2 > &A, const Eigen::Matrix< T2, R3, C3 > &B) |
| template<int RA, int CA, int RB, int CB> | |
| double | trace_quad_form (const Eigen::Matrix< double, RA, CA > &A, const Eigen::Matrix< double, RB, CB > &B) |
| Compute trace(B^T A B). More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, C, R > | transpose (const Eigen::Matrix< T, R, C > &m) |
| template<typename T > | |
| T | trigamma_impl (const T &x) |
| Return the trigamma function applied to the argument. More... | |
| double | trigamma (double u) |
| Return the second derivative of the log Gamma function evaluated at the specified argument. More... | |
| double | trigamma (int u) |
| Return the second derivative of the log Gamma function evaluated at the specified argument. More... | |
| template<typename T > | |
| auto | trigamma (const T &x) |
Return the elementwise application of trigamma() to specified argument container. More... | |
| double | trunc (double x) |
| Return the nearest integral value that is not larger in magnitude than the specified argument. More... | |
| double | trunc (int x) |
| Return the nearest integral value that is not larger in magnitude than the specified argument. More... | |
| template<typename T > | |
| auto | trunc (const T &x) |
Return the elementwise application of trunc() to specified argument container. More... | |
| template<typename T , typename U > | |
| return_type_t< T, U > | ub_constrain (const T &x, const U &ub) |
| Return the upper-bounded value for the specified unconstrained scalar and upper bound. More... | |
| template<typename T , typename U > | |
| return_type_t< T, U > | ub_constrain (const T &x, const U &ub, T &lp) |
| Return the upper-bounded value for the specified unconstrained scalar and upper bound and increment the specified log probability reference with the log absolute Jacobian determinant of the transform. More... | |
| template<typename T , typename U > | |
| return_type_t< T, U > | ub_free (const T &y, const U &ub) |
| Return the free scalar that corresponds to the specified upper-bounded value with respect to the specified upper bound. More... | |
| Eigen::VectorXd | uniform_simplex (int K) |
| Return a uniform simplex of size K. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, R, C > | unit_vector_constrain (const Eigen::Matrix< T, R, C > &y) |
| Return the unit length vector corresponding to the free vector y. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< T, R, C > | unit_vector_constrain (const Eigen::Matrix< T, R, C > &y, T &lp) |
| Return the unit length vector corresponding to the free vector y. More... | |
| template<typename T > | |
| Eigen::Matrix< T, Eigen::Dynamic, 1 > | unit_vector_free (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x) |
| Transformation of a unit length vector to a "free" vector However, we are just fixing the unidentified radius to 1. More... | |
| template<typename T > | |
| double | value_of (const T x) |
| Return the value of the specified scalar argument converted to a double value. More... | |
| template<> | |
| double | value_of< double > (double x) |
| Return the specified argument. More... | |
| int | value_of (int x) |
| Return the specified argument. More... | |
| template<typename T > | |
| std::vector< typename child_type< T >::type > | value_of (const std::vector< T > &x) |
| Convert a std::vector of type T to a std::vector of child_type<T>::type. More... | |
| const std::vector< double > & | value_of (const std::vector< double > &x) |
| Return the specified argument. More... | |
| const std::vector< int > & | value_of (const std::vector< int > &x) |
| Return the specified argument. More... | |
| template<typename T , int R, int C> | |
| Eigen::Matrix< typename child_type< T >::type, R, C > | value_of (const Eigen::Matrix< T, R, C > &M) |
| Convert a matrix of type T to a matrix of doubles. More... | |
| template<int R, int C> | |
| const Eigen::Matrix< double, R, C > & | value_of (const Eigen::Matrix< double, R, C > &x) |
| Return the specified argument. More... | |
| template<int R, int C> | |
| const Eigen::Matrix< int, R, C > & | value_of (const Eigen::Matrix< int, R, C > &x) |
| Return the specified argument. More... | |
| template<typename T , typename = require_stan_scalar_t<T>> | |
| double | value_of_rec (const T x) |
| Return the value of the specified scalar argument converted to a double value. More... | |
| double | value_of_rec (double x) |
| Return the specified argument. More... | |
| template<typename T > | |
| std::vector< double > | value_of_rec (const std::vector< T > &x) |
| Convert a std::vector of type T to a std::vector of doubles. More... | |
| const std::vector< double > & | value_of_rec (const std::vector< double > &x) |
| Return the specified argument. More... | |
| template<typename T , typename = require_not_same_st<T, double>, typename = require_eigen_t<T>> | |
| auto | value_of_rec (const T &M) |
| Convert a matrix of type T to a matrix of doubles. More... | |
| template<typename T , typename = require_same_st<T, double>, typename = require_eigen_t<T>> | |
| const T & | value_of_rec (const T &x) |
| Return the specified argument. More... | |
| template<typename T > | |
| return_type_t< T > | variance (const std::vector< T > &v) |
| Returns the sample variance (divide by length - 1) of the coefficients in the specified standard vector. More... | |
| template<typename T , int R, int C> | |
| return_type_t< T > | variance (const Eigen::Matrix< T, R, C > &m) |
| Returns the sample variance (divide by length - 1) of the coefficients in the specified matrix. More... | |
| template<typename T > | |
| const std::vector< T > & | vec_concat (const std::vector< T > &v1) |
| Ends the recursion to extract the event stack. More... | |
| template<typename T , typename... Args> | |
| const std::vector< T > | vec_concat (const std::vector< T > &v1, const Args... args) |
| Get the event stack from a vector of events and other arguments. More... | |
| std::vector< double > | zeros_array (int K) |
| Return an array of zeros. More... | |
| std::vector< int > | zeros_int_array (int K) |
| Return an integer array of zeros. More... | |
| Eigen::RowVectorXd | zeros_row_vector (int K) |
| Return a row vector of zeros. More... | |
| Eigen::VectorXd | zeros_vector (int K) |
| Return a vector of zeros. More... | |
| template<typename F > | |
| void | finite_diff_gradient (const F &f, const Eigen::VectorXd &x, double &fx, Eigen::VectorXd &grad_fx, double epsilon=1e-03) |
| Calculate the value and the gradient of the specified function at the specified argument using finite difference. More... | |
| template<typename F > | |
| void | finite_diff_gradient_auto (const F &f, const Eigen::VectorXd &x, double &fx, Eigen::VectorXd &grad_fx) |
| Calculate the value and the gradient of the specified function at the specified argument using finite difference. More... | |
| template<typename F > | |
| void | finite_diff_hessian (const F &f, const Eigen::VectorXd &x, double &fx, Eigen::VectorXd &grad_fx, Eigen::MatrixXd &hess_fx, double epsilon=1e-03) |
| Calculate the value and the Hessian of the specified function at the specified argument using second-order finite difference with the specified perturbation step size. More... | |
| template<typename F > | |
| void | finite_diff_hessian_auto (const F &f, const Eigen::VectorXd &x, double &fx, Eigen::VectorXd &grad_fx, Eigen::MatrixXd &hess_fx) |
| Calculate the value and the Hessian of the specified function at the specified argument using second-order finite difference, automatically setting the stepsize between the function evaluations along a dimension. More... | |
| template<typename F > | |
| double | finite_diff_hessian_helper (const F &f, const Eigen::VectorXd &x, int i, double epsilon=1e-03) |
Return the subcalculation required by finite_diff_hessian and finite_diff_hessian_auto. More... | |
| template<typename F > | |
| double | integrate (const F &f, double a, double b, double relative_tolerance) |
| Integrate a single variable function f from a to b to within a specified relative tolerance. More... | |
| template<typename F > | |
| double | integrate_1d (const F &f, const double a, const double b, const std::vector< double > &theta, const std::vector< double > &x_r, const std::vector< int > &x_i, std::ostream *msgs, const double relative_tolerance=std::sqrt(EPSILON)) |
| Compute the integral of the single variable function f from a to b to within a specified relative tolerance. More... | |
| template<typename F , typename T1 , typename T2 , typename T_t0 , typename T_ts > | |
| std::vector< std::vector< return_type_t< T1, T2, T_t0, T_ts > > > | integrate_ode_rk45 (const F &f, const std::vector< T1 > &y0, const T_t0 &t0, const std::vector< T_ts > &ts, const std::vector< T2 > &theta, const std::vector< double > &x, const std::vector< int > &x_int, std::ostream *msgs=nullptr, double relative_tolerance=1e-6, double absolute_tolerance=1e-6, int max_num_steps=1E6) |
| Return the solutions for the specified system of ordinary differential equations given the specified initial state, initial times, times of desired solution, and parameters and data, writing error and warning messages to the specified stream. More... | |
| template<int call_id, typename F , typename T_shared_param , typename T_job_param > | |
| Eigen::Matrix< return_type_t< T_shared_param, T_job_param >, Eigen::Dynamic, 1 > | map_rect (const Eigen::Matrix< T_shared_param, Eigen::Dynamic, 1 > &shared_params, const std::vector< Eigen::Matrix< T_job_param, Eigen::Dynamic, 1 >> &job_params, const std::vector< std::vector< double >> &x_r, const std::vector< std::vector< int >> &x_i, std::ostream *msgs=nullptr) |
| Map N function evaluations to parameters and data which are in rectangular format. More... | |
| std::vector< int > | mpi_map_chunks (std::size_t num_jobs, std::size_t chunk_size=1) |
| Maps jobs of given chunk size to workers and returning a vector of counts. More... | |
| template<typename T > | |
| std::unique_lock< std::mutex > | mpi_broadcast_command () |
| Broadcasts default constructible commands to the cluster. More... | |
| std::unique_lock< std::mutex > | mpi_broadcast_command (std::shared_ptr< mpi_command > &command) |
| Broadcasts a command instance to the listening cluster. More... | |
| template<typename T , typename = require_stan_scalar_t<T>> | |
| const T & | as_array_or_scalar (const T &v) |
| Returns specified input value. More... | |
| template<typename T , typename = require_eigen_t<T>> | |
| auto | as_array_or_scalar (const T &v) |
| Converts a matrix type to an array. More... | |
| template<typename T > | |
| Eigen::Map< const Eigen::Array< T, Eigen::Dynamic, 1 > > | as_array_or_scalar (const std::vector< T > &v) |
| Converts a std::vector type to an array. More... | |
| template<typename T , typename = require_stan_scalar_t<T>> | |
| const T & | as_column_vector_or_scalar (const T &a) |
| Converts input argument to a column vector or a scalar. More... | |
| template<typename T , typename = require_t<is_eigen_col_vector<T>>> | |
| const auto & | as_column_vector_or_scalar (const T &a) |
| Converts input argument to a column vector or a scalar. More... | |
| template<typename T , typename = require_t<is_eigen_row_vector<T>>> | |
| auto | as_column_vector_or_scalar (const T &a) |
| Converts input argument to a column vector or a scalar. More... | |
| template<typename T > | |
| Eigen::Map< const Eigen::Matrix< T, Eigen::Dynamic, 1 > > | as_column_vector_or_scalar (const std::vector< T > &a) |
| Converts input argument to a column vector or a scalar. More... | |
| template<typename T_desired , typename T_actual , typename = std::enable_if_t<std::is_convertible<T_actual, T_desired>::value && !is_eigen<T_desired>::value>> | |
| T_actual && | forward_as (T_actual &&a) |
| Assume which type we get. More... | |
| template<typename T_desired , typename T_actual , typename = std::enable_if_t<!std::is_convertible<T_actual, T_desired>::value>> | |
| T_desired | forward_as (const T_actual &a) |
| Assume which type we get. More... | |
| template<typename T_desired , typename T_actual , typename = std::enable_if_t< std::is_convertible<T_actual, T_desired>::value && static_cast< int>(T_desired::RowsAtCompileTime) == static_cast<int>(T_actual::RowsAtCompileTime) && static_cast<int>(T_desired::ColsAtCompileTime) == static_cast<int>(T_actual::ColsAtCompileTime)>, typename = void> | |
| T_actual && | forward_as (T_actual &&a) |
| Assume which type we get. More... | |
| template<typename T_desired , typename T_actual , typename = std::enable_if_t< !std::is_convertible<T_actual, T_desired>::value || static_cast<int>(T_desired::RowsAtCompileTime) != static_cast<int>(T_actual::RowsAtCompileTime) || static_cast<int>(T_desired::ColsAtCompileTime) != static_cast<int>(T_actual::ColsAtCompileTime)>, typename = void> | |
| T_desired | forward_as (const T_actual &a) |
| Assume which type we get. More... | |
| template<std::size_t N, class F > | |
| constexpr auto | index_apply (F f) |
| Calls given callable with an index sequence. More... | |
| template<typename T_n , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_ccdf_log (const T_n &n, const T_prob &theta) |
| template<typename T_n , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_cdf (const T_n &n, const T_prob &theta) |
| Returns the CDF of the Bernoulli distribution. More... | |
| template<typename T_n , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_cdf_log (const T_n &n, const T_prob &theta) |
| template<typename T_n , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_lccdf (const T_n &n, const T_prob &theta) |
| Returns the log CCDF of the Bernoulli distribution. More... | |
| template<typename T_n , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_lcdf (const T_n &n, const T_prob &theta) |
| Returns the log CDF of the Bernoulli distribution. More... | |
| template<bool propto, typename T_n , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_log (const T_n &n, const T_prob &theta) |
| template<typename T_y , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_log (const T_y &n, const T_prob &theta) |
| template<bool propto, typename T_y , typename T_x , typename T_alpha , typename T_beta > | |
| return_type_t< T_x, T_alpha, T_beta > | bernoulli_logit_glm_log (const T_y &y, const T_x &x, const T_alpha &alpha, const T_beta &beta) |
| template<typename T_y , typename T_x , typename T_alpha , typename T_beta > | |
| return_type_t< T_x, T_alpha, T_beta > | bernoulli_logit_glm_log (const T_y &y, const T_x &x, const T_alpha &alpha, const T_beta &beta) |
| template<bool propto, typename T_y , typename T_x_scalar , int T_x_rows, typename T_alpha , typename T_beta > | |
| return_type_t< T_x_scalar, T_alpha, T_beta > | bernoulli_logit_glm_lpmf (const T_y &y, const Eigen::Matrix< T_x_scalar, T_x_rows, Eigen::Dynamic > &x, const T_alpha &alpha, const T_beta &beta) |
| Returns the log PMF of the Generalized Linear Model (GLM) with Bernoulli distribution and logit link function. More... | |
| template<typename T_y , typename T_x , typename T_alpha , typename T_beta > | |
| return_type_t< T_x, T_beta, T_alpha > | bernoulli_logit_glm_lpmf (const T_y &y, const T_x &x, const T_alpha &alpha, const T_beta &beta) |
| template<typename T_x , typename T_alpha , typename T_beta , class RNG > | |
| VectorBuilder< true, int, T_alpha >::type | bernoulli_logit_glm_rng (const T_x &x, const T_alpha &alpha, const T_beta &beta, RNG &rng) |
| Returns a draw from the Generalized Linear Model (GLM) with Bernoulli distribution and logit link function. More... | |
| template<bool propto, typename T_n , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_logit_log (const T_n &n, const T_prob &theta) |
| template<typename T_n , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_logit_log (const T_n &n, const T_prob &theta) |
| template<bool propto, typename T_n , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_logit_lpmf (const T_n &n, const T_prob &theta) |
| Returns the log PMF of the logit-parametrized Bernoulli distribution. More... | |
| template<typename T_n , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_logit_lpmf (const T_n &n, const T_prob &theta) |
| template<typename T_t , class RNG > | |
| VectorBuilder< true, int, T_t >::type | bernoulli_logit_rng (const T_t &t, RNG &rng) |
| Return a Bernoulli random variate with logit-parameterized chance of success using the specified random number generator. More... | |
| template<bool propto, typename T_n , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_lpmf (const T_n &n, const T_prob &theta) |
| Returns the log PMF of the Bernoulli distribution. More... | |
| template<typename T_y , typename T_prob > | |
| return_type_t< T_prob > | bernoulli_lpmf (const T_y &n, const T_prob &theta) |
| template<typename T_theta , class RNG > | |
| VectorBuilder< true, int, T_theta >::type | bernoulli_rng (const T_theta &theta, RNG &rng) |
| Return a Bernoulli random variate with specified chance of success parameter using the specified random number generator. More... | |
| template<typename T_n , typename T_N , typename T_size1 , typename T_size2 > | |
| return_type_t< T_size1, T_size2 > | beta_binomial_ccdf_log (const T_n &n, const T_N &N, const T_size1 &alpha, const T_size2 &beta) |
| template<typename T_n , typename T_N , typename T_size1 , typename T_size2 > | |
| return_type_t< T_size1, T_size2 > | beta_binomial_cdf (const T_n &n, const T_N &N, const T_size1 &alpha, const T_size2 &beta) |
| Returns the CDF of the Beta-Binomial distribution with given population size, prior success, and prior failure parameters. More... | |
| template<typename T_n , typename T_N , typename T_size1 , typename T_size2 > | |
| return_type_t< T_size1, T_size2 > | beta_binomial_cdf_log (const T_n &n, const T_N &N, const T_size1 &alpha, const T_size2 &beta) |
| template<typename T_n , typename T_N , typename T_size1 , typename T_size2 > | |
| return_type_t< T_size1, T_size2 > | beta_binomial_lccdf (const T_n &n, const T_N &N, const T_size1 &alpha, const T_size2 &beta) |
| Returns the log CCDF of the Beta-Binomial distribution with given population size, prior success, and prior failure parameters. More... | |
| template<typename T_n , typename T_N , typename T_size1 , typename T_size2 > | |
| return_type_t< T_size1, T_size2 > | beta_binomial_lcdf (const T_n &n, const T_N &N, const T_size1 &alpha, const T_size2 &beta) |
| Returns the log CDF of the Beta-Binomial distribution with given population size, prior success, and prior failure parameters. More... | |
| template<bool propto, typename T_n , typename T_N , typename T_size1 , typename T_size2 > | |
| return_type_t< T_size1, T_size2 > | beta_binomial_log (const T_n &n, const T_N &N, const T_size1 &alpha, const T_size2 &beta) |
| template<typename T_n , typename T_N , typename T_size1 , typename T_size2 > | |
| return_type_t< T_size1, T_size2 > | beta_binomial_log (const T_n &n, const T_N &N, const T_size1 &alpha, const T_size2 &beta) |
| template<bool propto, typename T_n , typename T_N , typename T_size1 , typename T_size2 > | |
| return_type_t< T_size1, T_size2 > | beta_binomial_lpmf (const T_n &n, const T_N &N, const T_size1 &alpha, const T_size2 &beta) |
| Returns the log PMF of the Beta-Binomial distribution with given population size, prior success, and prior failure parameters. More... | |
| template<typename T_n , typename T_N , typename T_size1 , typename T_size2 > | |
| return_type_t< T_size1, T_size2 > | beta_binomial_lpmf (const T_n &n, const T_N &N, const T_size1 &alpha, const T_size2 &beta) |
| template<typename T_N , typename T_shape1 , typename T_shape2 , class RNG > | |
| VectorBuilder< true, int, T_N, T_shape1, T_shape2 >::type | beta_binomial_rng (const T_N &N, const T_shape1 &alpha, const T_shape2 &beta, RNG &rng) |
| Return a beta-binomial random variate with the specified population size, success, and failure parameters using the given random number generator. More... | |
| template<typename T_y , typename T_scale_succ , typename T_scale_fail > | |
| return_type_t< T_y, T_scale_succ, T_scale_fail > | beta_ccdf_log (const T_y &y, const T_scale_succ &alpha, const T_scale_fail &beta) |
| template<typename T_y , typename T_scale_succ , typename T_scale_fail > | |
| return_type_t< T_y, T_scale_succ, T_scale_fail > | beta_cdf (const T_y &y, const T_scale_succ &alpha, const T_scale_fail &beta) |
| Calculates the beta cumulative distribution function for the given variate and scale variables. More... | |
| template<typename T_y , typename T_scale_succ , typename T_scale_fail > | |
| return_type_t< T_y, T_scale_succ, T_scale_fail > | beta_cdf_log (const T_y &y, const T_scale_succ &alpha, const T_scale_fail &beta) |
| template<typename T_y , typename T_scale_succ , typename T_scale_fail > | |
| return_type_t< T_y, T_scale_succ, T_scale_fail > | beta_lccdf (const T_y &y, const T_scale_succ &alpha, const T_scale_fail &beta) |
| Returns the beta log complementary cumulative distribution function for the given probability, success, and failure parameters. More... | |
| template<typename T_y , typename T_scale_succ , typename T_scale_fail > | |
| return_type_t< T_y, T_scale_succ, T_scale_fail > | beta_lcdf (const T_y &y, const T_scale_succ &alpha, const T_scale_fail &beta) |
| Returns the beta log cumulative distribution function for the given probability, success, and failure parameters. More... | |
| template<bool propto, typename T_y , typename T_scale_succ , typename T_scale_fail > | |
| return_type_t< T_y, T_scale_succ, T_scale_fail > | beta_log (const T_y &y, const T_scale_succ &alpha, const T_scale_fail &beta) |
| The log of the beta density for the specified scalar(s) given the specified sample size(s). More... | |
| template<typename T_y , typename T_scale_succ , typename T_scale_fail > | |
| return_type_t< T_y, T_scale_succ, T_scale_fail > | beta_log (const T_y &y, const T_scale_succ &alpha, const T_scale_fail &beta) |
| template<bool propto, typename T_y , typename T_scale_succ , typename T_scale_fail > | |
| return_type_t< T_y, T_scale_succ, T_scale_fail > | beta_lpdf (const T_y &y, const T_scale_succ &alpha, const T_scale_fail &beta) |
| The log of the beta density for the specified scalar(s) given the specified sample size(s). More... | |
| template<typename T_y , typename T_scale_succ , typename T_scale_fail > | |
| return_type_t< T_y, T_scale_succ, T_scale_fail > | beta_lpdf (const T_y &y, const T_scale_succ &alpha, const T_scale_fail &beta) |
| template<typename T_y , typename T_loc , typename T_prec > | |
| return_type_t< T_y, T_loc, T_prec > | beta_proportion_ccdf_log (const T_y &y, const T_loc &mu, const T_prec &kappa) |
| Returns the beta log complementary cumulative distribution function for specified probability, location, and precision parameters: beta_proportion_lccdf(y | mu, kappa) = beta_lccdf(y | mu * kappa, (1 - mu) * kappa). More... | |
| template<typename T_y , typename T_loc , typename T_prec > | |
| return_type_t< T_y, T_loc, T_prec > | beta_proportion_cdf_log (const T_y &y, const T_loc &mu, const T_prec &kappa) |
| Returns the beta log cumulative distribution function for specified probability, location, and precision parameters: beta_proportion_lcdf(y | mu, kappa) = beta_lcdf(y | mu * kappa, (1 - mu) * kappa). More... | |
| template<typename T_y , typename T_loc , typename T_prec > | |
| return_type_t< T_y, T_loc, T_prec > | beta_proportion_lccdf (const T_y &y, const T_loc &mu, const T_prec &kappa) |
| Returns the beta log complementary cumulative distribution function for specified probability, location, and precision parameters: beta_proportion_lccdf(y | mu, kappa) = beta_lccdf(y | mu * kappa, (1 - mu) * kappa). More... | |
| template<typename T_y , typename T_loc , typename T_prec > | |
| return_type_t< T_y, T_loc, T_prec > | beta_proportion_lcdf (const T_y &y, const T_loc &mu, const T_prec &kappa) |
| Returns the beta log cumulative distribution function for specified probability, location, and precision parameters: beta_proportion_lcdf(y | mu, kappa) = beta_lcdf(y | mu * kappa, (1 - mu) * kappa). More... | |
| template<bool propto, typename T_y , typename T_loc , typename T_prec > | |
| return_type_t< T_y, T_loc, T_prec > | beta_proportion_log (const T_y &y, const T_loc &mu, const T_prec &kappa) |
| The log of the beta density for specified y, location, and precision: beta_proportion_lpdf(y | mu, kappa) = beta_lpdf(y | mu * kappa, (1 - mu) * kappa). More... | |
| template<typename T_y , typename T_loc , typename T_prec > | |
| return_type_t< T_y, T_loc, T_prec > | beta_proportion_log (const T_y &y, const T_loc &mu, const T_prec &kappa) |
| template<bool propto, typename T_y , typename T_loc , typename T_prec > | |
| return_type_t< T_y, T_loc, T_prec > | beta_proportion_lpdf (const T_y &y, const T_loc &mu, const T_prec &kappa) |
| The log of the beta density for specified y, location, and precision: beta_proportion_lpdf(y | mu, kappa) = beta_lpdf(y | mu * kappa, (1 - mu) * kappa). More... | |
| template<typename T_y , typename T_loc , typename T_prec > | |
| return_type_t< T_y, T_loc, T_prec > | beta_proportion_lpdf (const T_y &y, const T_loc &mu, const T_prec &kappa) |
| template<typename T_loc , typename T_prec , class RNG > | |
| VectorBuilder< true, double, T_loc, T_prec >::type | beta_proportion_rng (const T_loc &mu, const T_prec &kappa, RNG &rng) |
| Return a Beta random variate specified probability, location, and precision parameters: beta_proportion_rng(y | mu, kappa) = beta_rng(y | mu * kappa, (1 - mu) * kappa). More... | |
| template<typename T_shape1 , typename T_shape2 , class RNG > | |
| VectorBuilder< true, double, T_shape1, T_shape2 >::type | beta_rng (const T_shape1 &alpha, const T_shape2 &beta, RNG &rng) |
| Return a Beta random variate with the supplied success and failure parameters using the given random number generator. More... | |
| template<typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_ccdf_log (const T_n &n, const T_N &N, const T_prob &theta) |
| template<typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_cdf (const T_n &n, const T_N &N, const T_prob &theta) |
| Returns the CDF for the binomial distribution evaluated at the specified success, population size, and chance of success. More... | |
| template<typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_cdf_log (const T_n &n, const T_N &N, const T_prob &theta) |
| template<typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_lccdf (const T_n &n, const T_N &N, const T_prob &theta) |
| Returns the log CCDF for the binomial distribution evaluated at the specified success, population size, and chance of success. More... | |
| template<typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_lcdf (const T_n &n, const T_N &N, const T_prob &theta) |
| Returns the log CDF for the binomial distribution evaluated at the specified success, population size, and chance of success. More... | |
| template<bool propto, typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_log (const T_n &n, const T_N &N, const T_prob &theta) |
| template<typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_log (const T_n &n, const T_N &N, const T_prob &theta) |
| template<bool propto, typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_logit_log (const T_n &n, const T_N &N, const T_prob &alpha) |
| template<typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_logit_log (const T_n &n, const T_N &N, const T_prob &alpha) |
| template<bool propto, typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_logit_lpmf (const T_n &n, const T_N &N, const T_prob &alpha) |
| Binomial log PMF in logit parametrization. More... | |
| template<typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_logit_lpmf (const T_n &n, const T_N &N, const T_prob &alpha) |
| template<bool propto, typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_lpmf (const T_n &n, const T_N &N, const T_prob &theta) |
| Returns the log PMF for the binomial distribution evaluated at the specified success, population size, and chance of success. More... | |
| template<typename T_n , typename T_N , typename T_prob > | |
| return_type_t< T_prob > | binomial_lpmf (const T_n &n, const T_N &N, const T_prob &theta) |
| template<typename T_N , typename T_theta , class RNG > | |
| VectorBuilder< true, int, T_N, T_theta >::type | binomial_rng (const T_N &N, const T_theta &theta, RNG &rng) |
| Return a pseudorandom binomial random variable for the given population size and chance of success parameters using the specified random number generator. More... | |
| template<bool propto, typename T_prob > | |
| return_type_t< T_prob > | categorical_log (int n, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| template<typename T_prob > | |
| return_type_t< T_prob > | categorical_log (const typename math::index_type< Eigen::VectorXd >::type n, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| template<bool propto, typename T_prob > | |
| return_type_t< T_prob > | categorical_log (const std::vector< int > &ns, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| template<typename T_prob > | |
| return_type_t< T_prob > | categorical_log (const std::vector< int > &ns, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| template<bool propto, typename T_y , typename T_x_scalar , int T_x_rows, typename T_alpha_scalar , typename T_beta_scalar > | |
| return_type_t< T_x_scalar, T_alpha_scalar, T_beta_scalar > | categorical_logit_glm_lpmf (const T_y &y, const Eigen::Matrix< T_x_scalar, T_x_rows, Eigen::Dynamic > &x, const Eigen::Matrix< T_alpha_scalar, Eigen::Dynamic, 1 > &alpha, const Eigen::Matrix< T_beta_scalar, Eigen::Dynamic, Eigen::Dynamic > &beta) |
| Returns the log PMF of the Generalized Linear Model (GLM) with categorical distribution and logit (softmax) link function. More... | |
| template<typename T_y , typename T_x_scalar , int T_x_rows, typename T_alpha_scalar , typename T_beta_scalar > | |
| return_type_t< T_x_scalar, T_alpha_scalar, T_beta_scalar > | categorical_logit_glm_lpmf (const T_y &y, const Eigen::Matrix< T_x_scalar, T_x_rows, Eigen::Dynamic > &x, const Eigen::Matrix< T_alpha_scalar, Eigen::Dynamic, 1 > &alpha, const Eigen::Matrix< T_beta_scalar, Eigen::Dynamic, Eigen::Dynamic > &beta) |
| template<bool propto, typename T_prob > | |
| return_type_t< T_prob > | categorical_logit_log (int n, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &beta) |
| template<typename T_prob > | |
| return_type_t< T_prob > | categorical_logit_log (int n, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &beta) |
| template<bool propto, typename T_prob > | |
| return_type_t< T_prob > | categorical_logit_log (const std::vector< int > &ns, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &beta) |
| template<typename T_prob > | |
| return_type_t< T_prob > | categorical_logit_log (const std::vector< int > &ns, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &beta) |
| template<bool propto, typename T_prob > | |
| return_type_t< T_prob > | categorical_logit_lpmf (int n, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &beta) |
| template<typename T_prob > | |
| return_type_t< T_prob > | categorical_logit_lpmf (int n, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &beta) |
| template<bool propto, typename T_prob > | |
| return_type_t< T_prob > | categorical_logit_lpmf (const std::vector< int > &ns, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &beta) |
| template<typename T_prob > | |
| return_type_t< T_prob > | categorical_logit_lpmf (const std::vector< int > &ns, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &beta) |
| template<class RNG > | |
| int | categorical_logit_rng (const Eigen::VectorXd &beta, RNG &rng) |
| Return a draw from a Categorical distribution given a a vector of unnormalized log probabilities and a psuedo-random number generator. More... | |
| template<bool propto, typename T_prob > | |
| return_type_t< T_prob > | categorical_lpmf (int n, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| template<typename T_prob > | |
| return_type_t< T_prob > | categorical_lpmf (const typename math::index_type< Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > >::type n, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| template<bool propto, typename T_prob > | |
| return_type_t< T_prob > | categorical_lpmf (const std::vector< int > &ns, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| template<typename T_prob > | |
| return_type_t< T_prob > | categorical_lpmf (const std::vector< int > &ns, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| template<class RNG > | |
| int | categorical_rng (const Eigen::Matrix< double, Eigen::Dynamic, 1 > &theta, RNG &rng) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | cauchy_ccdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | cauchy_cdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| Returns the cauchy cumulative distribution function for the given location, and scale. More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | cauchy_cdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | cauchy_lccdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| Returns the cauchy log complementary cumulative distribution function for the given location, and scale. More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | cauchy_lcdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| Returns the cauchy log cumulative distribution function for the given location, and scale. More... | |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | cauchy_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| The log of the Cauchy density for the specified scalar(s) given the specified location parameter(s) and scale parameter(s). More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | cauchy_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | cauchy_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| The log of the Cauchy density for the specified scalar(s) given the specified location parameter(s) and scale parameter(s). More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | cauchy_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_loc , typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_loc, T_scale >::type | cauchy_rng (const T_loc &mu, const T_scale &sigma, RNG &rng) |
| Return a Cauchy random variate for the given location and scale using the specified random number generator. More... | |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | chi_square_ccdf_log (const T_y &y, const T_dof &nu) |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | chi_square_cdf (const T_y &y, const T_dof &nu) |
| Returns the chi square cumulative distribution function for the given variate and degrees of freedom. More... | |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | chi_square_cdf_log (const T_y &y, const T_dof &nu) |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | chi_square_lccdf (const T_y &y, const T_dof &nu) |
| Returns the chi square log complementary cumulative distribution function for the given variate and degrees of freedom. More... | |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | chi_square_lcdf (const T_y &y, const T_dof &nu) |
| Returns the chi square log cumulative distribution function for the given variate and degrees of freedom. More... | |
| template<bool propto, typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | chi_square_log (const T_y &y, const T_dof &nu) |
| The log of a chi-squared density for y with the specified degrees of freedom parameter. More... | |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | chi_square_log (const T_y &y, const T_dof &nu) |
| template<bool propto, typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | chi_square_lpdf (const T_y &y, const T_dof &nu) |
| The log of a chi-squared density for y with the specified degrees of freedom parameter. More... | |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | chi_square_lpdf (const T_y &y, const T_dof &nu) |
| template<typename T_deg , class RNG > | |
| VectorBuilder< true, double, T_deg >::type | chi_square_rng (const T_deg &nu, RNG &rng) |
| Return a chi squared random variate with nu degrees of freedom using the specified random number generator. More... | |
| template<bool propto, typename T_prob , typename T_prior_size > | |
| return_type_t< T_prob, T_prior_size > | dirichlet_log (const T_prob &theta, const T_prior_size &alpha) |
| The log of the Dirichlet density for the given theta and a vector of prior sample sizes, alpha. More... | |
| template<typename T_prob , typename T_prior_size > | |
| return_type_t< T_prob, T_prior_size > | dirichlet_log (const T_prob &theta, const T_prior_size &alpha) |
| template<bool propto, typename T_prob , typename T_prior_size > | |
| return_type_t< T_prob, T_prior_size > | dirichlet_lpdf (const T_prob &theta, const T_prior_size &alpha) |
| The log of the Dirichlet density for the given theta and a vector of prior sample sizes, alpha. More... | |
| template<typename T_prob , typename T_prior_size > | |
| return_type_t< T_prob, T_prior_size > | dirichlet_lpdf (const T_prob &theta, const T_prior_size &alpha) |
| template<bool propto, typename T_prob , typename T_prior_size > | |
| return_type_t< T_prob, T_prior_size > | dirichlet_lpmf (const T_prob &theta, const T_prior_size &alpha) |
| template<typename T_prob , typename T_prior_size > | |
| return_type_t< T_prob, T_prior_size > | dirichlet_lpmf (const T_prob &theta, const T_prior_size &alpha) |
| template<class RNG > | |
| Eigen::VectorXd | dirichlet_rng (const Eigen::Matrix< double, Eigen::Dynamic, 1 > &alpha, RNG &rng) |
| Return a draw from a Dirichlet distribution with specified parameters and pseudo-random number generator. More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | double_exponential_ccdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | double_exponential_cdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| Returns the double exponential cumulative density function. More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | double_exponential_cdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | double_exponential_lccdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| Returns the double exponential log complementary cumulative density function. More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | double_exponential_lcdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| Returns the double exponential log cumulative density function. More... | |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | double_exponential_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | double_exponential_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | double_exponential_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| Returns the double exponential log probability density function. More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | double_exponential_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_loc , typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_loc, T_scale >::type | double_exponential_rng (const T_loc &mu, const T_scale &sigma, RNG &rng) |
| Return a double exponential random variate with the given location and scale using the specified random number generator. More... | |
| template<typename T_y , typename T_loc , typename T_scale , typename T_inv_scale > | |
| return_type_t< T_y, T_loc, T_scale, T_inv_scale > | exp_mod_normal_ccdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_inv_scale &lambda) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_inv_scale > | |
| return_type_t< T_y, T_loc, T_scale, T_inv_scale > | exp_mod_normal_cdf (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_inv_scale &lambda) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_inv_scale > | |
| return_type_t< T_y, T_loc, T_scale, T_inv_scale > | exp_mod_normal_cdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_inv_scale &lambda) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_inv_scale > | |
| return_type_t< T_y, T_loc, T_scale, T_inv_scale > | exp_mod_normal_lccdf (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_inv_scale &lambda) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_inv_scale > | |
| return_type_t< T_y, T_loc, T_scale, T_inv_scale > | exp_mod_normal_lcdf (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_inv_scale &lambda) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale , typename T_inv_scale > | |
| return_type_t< T_y, T_loc, T_scale, T_inv_scale > | exp_mod_normal_log (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_inv_scale &lambda) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_inv_scale > | |
| return_type_t< T_y, T_loc, T_scale, T_inv_scale > | exp_mod_normal_log (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_inv_scale &lambda) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale , typename T_inv_scale > | |
| return_type_t< T_y, T_loc, T_scale, T_inv_scale > | exp_mod_normal_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_inv_scale &lambda) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_inv_scale > | |
| return_type_t< T_y, T_loc, T_scale, T_inv_scale > | exp_mod_normal_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_inv_scale &lambda) |
| template<typename T_loc , typename T_scale , typename T_inv_scale , class RNG > | |
| VectorBuilder< true, double, T_loc, T_scale, T_inv_scale >::type | exp_mod_normal_rng (const T_loc &mu, const T_scale &sigma, const T_inv_scale &lambda, RNG &rng) |
| Return an exponentially modified normal random variate for the given location, scale, and inverse scale using the specified random number generator. More... | |
| template<typename T_y , typename T_inv_scale > | |
| return_type_t< T_y, T_inv_scale > | exponential_ccdf_log (const T_y &y, const T_inv_scale &beta) |
| template<typename T_y , typename T_inv_scale > | |
| return_type_t< T_y, T_inv_scale > | exponential_cdf (const T_y &y, const T_inv_scale &beta) |
| Calculates the exponential cumulative distribution function for the given y and beta. More... | |
| template<typename T_y , typename T_inv_scale > | |
| return_type_t< T_y, T_inv_scale > | exponential_cdf_log (const T_y &y, const T_inv_scale &beta) |
| template<typename T_y , typename T_inv_scale > | |
| return_type_t< T_y, T_inv_scale > | exponential_lccdf (const T_y &y, const T_inv_scale &beta) |
| template<typename T_y , typename T_inv_scale > | |
| return_type_t< T_y, T_inv_scale > | exponential_lcdf (const T_y &y, const T_inv_scale &beta) |
| template<bool propto, typename T_y , typename T_inv_scale > | |
| return_type_t< T_y, T_inv_scale > | exponential_log (const T_y &y, const T_inv_scale &beta) |
| The log of an exponential density for y with the specified inverse scale parameter. More... | |
| template<typename T_y , typename T_inv_scale > | |
| return_type_t< T_y, T_inv_scale > | exponential_log (const T_y &y, const T_inv_scale &beta) |
| template<bool propto, typename T_y , typename T_inv_scale > | |
| return_type_t< T_y, T_inv_scale > | exponential_lpdf (const T_y &y, const T_inv_scale &beta) |
| The log of an exponential density for y with the specified inverse scale parameter. More... | |
| template<typename T_y , typename T_inv_scale > | |
| return_type_t< T_y, T_inv_scale > | exponential_lpdf (const T_y &y, const T_inv_scale &beta) |
| template<typename T_inv , class RNG > | |
| VectorBuilder< true, double, T_inv >::type | exponential_rng (const T_inv &beta, RNG &rng) |
| Return a exponential random variate with inverse scale beta using the specified random number generator. More... | |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | frechet_ccdf_log (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | frechet_cdf (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | frechet_cdf_log (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | frechet_lccdf (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | frechet_lcdf (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | frechet_log (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | frechet_log (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | frechet_lpdf (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | frechet_lpdf (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<typename T_shape , typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_shape, T_scale >::type | frechet_rng (const T_shape &alpha, const T_scale &sigma, RNG &rng) |
| Return a pseudorandom Frechet variate for the given shape and scale parameters using the specified random number generator. More... | |
| template<typename T_y , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_y, T_shape, T_inv_scale > | gamma_ccdf_log (const T_y &y, const T_shape &alpha, const T_inv_scale &beta) |
| template<typename T_y , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_y, T_shape, T_inv_scale > | gamma_cdf (const T_y &y, const T_shape &alpha, const T_inv_scale &beta) |
| The cumulative density function for a gamma distribution for y with the specified shape and inverse scale parameters. More... | |
| template<typename T_y , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_y, T_shape, T_inv_scale > | gamma_cdf_log (const T_y &y, const T_shape &alpha, const T_inv_scale &beta) |
| template<typename T_y , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_y, T_shape, T_inv_scale > | gamma_lccdf (const T_y &y, const T_shape &alpha, const T_inv_scale &beta) |
| template<typename T_y , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_y, T_shape, T_inv_scale > | gamma_lcdf (const T_y &y, const T_shape &alpha, const T_inv_scale &beta) |
| template<bool propto, typename T_y , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_y, T_shape, T_inv_scale > | gamma_log (const T_y &y, const T_shape &alpha, const T_inv_scale &beta) |
| The log of a gamma density for y with the specified shape and inverse scale parameters. More... | |
| template<typename T_y , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_y, T_shape, T_inv_scale > | gamma_log (const T_y &y, const T_shape &alpha, const T_inv_scale &beta) |
| template<bool propto, typename T_y , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_y, T_shape, T_inv_scale > | gamma_lpdf (const T_y &y, const T_shape &alpha, const T_inv_scale &beta) |
| The log of a gamma density for y with the specified shape and inverse scale parameters. More... | |
| template<typename T_y , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_y, T_shape, T_inv_scale > | gamma_lpdf (const T_y &y, const T_shape &alpha, const T_inv_scale &beta) |
| template<typename T_shape , typename T_inv , class RNG > | |
| VectorBuilder< true, double, T_shape, T_inv >::type | gamma_rng (const T_shape &alpha, const T_inv &beta, RNG &rng) |
| Return a gamma random variate for the given shape and inverse scale parameters using the specified random number generator. More... | |
| template<bool propto, typename T_y , typename T_F , typename T_G , typename T_V , typename T_W , typename T_m0 , typename T_C0 > | |
| return_type_t< T_y, return_type_t< T_F, T_G, T_V, T_W, T_m0, T_C0 > > | gaussian_dlm_obs_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_F, Eigen::Dynamic, Eigen::Dynamic > &F, const Eigen::Matrix< T_G, Eigen::Dynamic, Eigen::Dynamic > &G, const Eigen::Matrix< T_V, Eigen::Dynamic, Eigen::Dynamic > &V, const Eigen::Matrix< T_W, Eigen::Dynamic, Eigen::Dynamic > &W, const Eigen::Matrix< T_m0, Eigen::Dynamic, 1 > &m0, const Eigen::Matrix< T_C0, Eigen::Dynamic, Eigen::Dynamic > &C0) |
| The log of a Gaussian dynamic linear model (GDLM). More... | |
| template<typename T_y , typename T_F , typename T_G , typename T_V , typename T_W , typename T_m0 , typename T_C0 > | |
| return_type_t< T_y, return_type_t< T_F, T_G, T_V, T_W, T_m0, T_C0 > > | gaussian_dlm_obs_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_F, Eigen::Dynamic, Eigen::Dynamic > &F, const Eigen::Matrix< T_G, Eigen::Dynamic, Eigen::Dynamic > &G, const Eigen::Matrix< T_V, Eigen::Dynamic, Eigen::Dynamic > &V, const Eigen::Matrix< T_W, Eigen::Dynamic, Eigen::Dynamic > &W, const Eigen::Matrix< T_m0, Eigen::Dynamic, 1 > &m0, const Eigen::Matrix< T_C0, Eigen::Dynamic, Eigen::Dynamic > &C0) |
| template<bool propto, typename T_y , typename T_F , typename T_G , typename T_V , typename T_W , typename T_m0 , typename T_C0 > | |
| return_type_t< T_y, return_type_t< T_F, T_G, T_V, T_W, T_m0, T_C0 > > | gaussian_dlm_obs_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_F, Eigen::Dynamic, Eigen::Dynamic > &F, const Eigen::Matrix< T_G, Eigen::Dynamic, Eigen::Dynamic > &G, const Eigen::Matrix< T_V, Eigen::Dynamic, 1 > &V, const Eigen::Matrix< T_W, Eigen::Dynamic, Eigen::Dynamic > &W, const Eigen::Matrix< T_m0, Eigen::Dynamic, 1 > &m0, const Eigen::Matrix< T_C0, Eigen::Dynamic, Eigen::Dynamic > &C0) |
| The log of a Gaussian dynamic linear model (GDLM) with uncorrelated observation disturbances. More... | |
| template<typename T_y , typename T_F , typename T_G , typename T_V , typename T_W , typename T_m0 , typename T_C0 > | |
| return_type_t< T_y, return_type_t< T_F, T_G, T_V, T_W, T_m0, T_C0 > > | gaussian_dlm_obs_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_F, Eigen::Dynamic, Eigen::Dynamic > &F, const Eigen::Matrix< T_G, Eigen::Dynamic, Eigen::Dynamic > &G, const Eigen::Matrix< T_V, Eigen::Dynamic, 1 > &V, const Eigen::Matrix< T_W, Eigen::Dynamic, Eigen::Dynamic > &W, const Eigen::Matrix< T_m0, Eigen::Dynamic, 1 > &m0, const Eigen::Matrix< T_C0, Eigen::Dynamic, Eigen::Dynamic > &C0) |
| template<bool propto, typename T_y , typename T_F , typename T_G , typename T_V , typename T_W , typename T_m0 , typename T_C0 > | |
| return_type_t< T_y, return_type_t< T_F, T_G, T_V, T_W, T_m0, T_C0 > > | gaussian_dlm_obs_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_F, Eigen::Dynamic, Eigen::Dynamic > &F, const Eigen::Matrix< T_G, Eigen::Dynamic, Eigen::Dynamic > &G, const Eigen::Matrix< T_V, Eigen::Dynamic, Eigen::Dynamic > &V, const Eigen::Matrix< T_W, Eigen::Dynamic, Eigen::Dynamic > &W, const Eigen::Matrix< T_m0, Eigen::Dynamic, 1 > &m0, const Eigen::Matrix< T_C0, Eigen::Dynamic, Eigen::Dynamic > &C0) |
| The log of a Gaussian dynamic linear model (GDLM). More... | |
| template<typename T_y , typename T_F , typename T_G , typename T_V , typename T_W , typename T_m0 , typename T_C0 > | |
| return_type_t< T_y, return_type_t< T_F, T_G, T_V, T_W, T_m0, T_C0 > > | gaussian_dlm_obs_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_F, Eigen::Dynamic, Eigen::Dynamic > &F, const Eigen::Matrix< T_G, Eigen::Dynamic, Eigen::Dynamic > &G, const Eigen::Matrix< T_V, Eigen::Dynamic, Eigen::Dynamic > &V, const Eigen::Matrix< T_W, Eigen::Dynamic, Eigen::Dynamic > &W, const Eigen::Matrix< T_m0, Eigen::Dynamic, 1 > &m0, const Eigen::Matrix< T_C0, Eigen::Dynamic, Eigen::Dynamic > &C0) |
| template<bool propto, typename T_y , typename T_F , typename T_G , typename T_V , typename T_W , typename T_m0 , typename T_C0 > | |
| return_type_t< T_y, return_type_t< T_F, T_G, T_V, T_W, T_m0, T_C0 > > | gaussian_dlm_obs_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_F, Eigen::Dynamic, Eigen::Dynamic > &F, const Eigen::Matrix< T_G, Eigen::Dynamic, Eigen::Dynamic > &G, const Eigen::Matrix< T_V, Eigen::Dynamic, 1 > &V, const Eigen::Matrix< T_W, Eigen::Dynamic, Eigen::Dynamic > &W, const Eigen::Matrix< T_m0, Eigen::Dynamic, 1 > &m0, const Eigen::Matrix< T_C0, Eigen::Dynamic, Eigen::Dynamic > &C0) |
| The log of a Gaussian dynamic linear model (GDLM) with uncorrelated observation disturbances. More... | |
| template<typename T_y , typename T_F , typename T_G , typename T_V , typename T_W , typename T_m0 , typename T_C0 > | |
| return_type_t< T_y, return_type_t< T_F, T_G, T_V, T_W, T_m0, T_C0 > > | gaussian_dlm_obs_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_F, Eigen::Dynamic, Eigen::Dynamic > &F, const Eigen::Matrix< T_G, Eigen::Dynamic, Eigen::Dynamic > &G, const Eigen::Matrix< T_V, Eigen::Dynamic, 1 > &V, const Eigen::Matrix< T_W, Eigen::Dynamic, Eigen::Dynamic > &W, const Eigen::Matrix< T_m0, Eigen::Dynamic, 1 > &m0, const Eigen::Matrix< T_C0, Eigen::Dynamic, Eigen::Dynamic > &C0) |
| template<class RNG > | |
| Eigen::MatrixXd | gaussian_dlm_obs_rng (const Eigen::MatrixXd &F, const Eigen::MatrixXd &G, const Eigen::MatrixXd &V, const Eigen::MatrixXd &W, const Eigen::VectorXd &m0, const Eigen::MatrixXd &C0, const int T, RNG &rng) |
| Simulate random draw from Gaussian dynamic linear model (GDLM). More... | |
| template<class RNG > | |
| Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > | gaussian_dlm_obs_rng (const Eigen::MatrixXd &F, const Eigen::MatrixXd &G, const Eigen::VectorXd &V, const Eigen::MatrixXd &W, const Eigen::VectorXd &m0, const Eigen::MatrixXd &C0, const int T, RNG &rng) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | gumbel_ccdf_log (const T_y &y, const T_loc &mu, const T_scale &beta) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | gumbel_cdf (const T_y &y, const T_loc &mu, const T_scale &beta) |
| Returns the Gumbel distribution cumulative distribution for the given location and scale. More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | gumbel_cdf_log (const T_y &y, const T_loc &mu, const T_scale &beta) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | gumbel_lccdf (const T_y &y, const T_loc &mu, const T_scale &beta) |
| Returns the Gumbel log complementary cumulative distribution for the given location and scale. More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | gumbel_lcdf (const T_y &y, const T_loc &mu, const T_scale &beta) |
| Returns the Gumbel log cumulative distribution for the given location and scale. More... | |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | gumbel_log (const T_y &y, const T_loc &mu, const T_scale &beta) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | gumbel_log (const T_y &y, const T_loc &mu, const T_scale &beta) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | gumbel_lpdf (const T_y &y, const T_loc &mu, const T_scale &beta) |
| Returns the Gumbel log probability density for the given location and scale. More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | gumbel_lpdf (const T_y &y, const T_loc &mu, const T_scale &beta) |
| template<typename T_loc , typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_loc, T_scale >::type | gumbel_rng (const T_loc &mu, const T_scale &beta, RNG &rng) |
| Return a Gumbel random variate with the given location and scale using the specified random number generator. More... | |
| template<bool propto, typename T_n , typename T_N , typename T_a , typename T_b > | |
| double | hypergeometric_log (const T_n &n, const T_N &N, const T_a &a, const T_b &b) |
| template<typename T_n , typename T_N , typename T_a , typename T_b > | |
| double | hypergeometric_log (const T_n &n, const T_N &N, const T_a &a, const T_b &b) |
| template<bool propto, typename T_n , typename T_N , typename T_a , typename T_b > | |
| double | hypergeometric_lpmf (const T_n &n, const T_N &N, const T_a &a, const T_b &b) |
| template<typename T_n , typename T_N , typename T_a , typename T_b > | |
| double | hypergeometric_lpmf (const T_n &n, const T_N &N, const T_a &a, const T_b &b) |
| template<class RNG > | |
| int | hypergeometric_rng (int N, int a, int b, RNG &rng) |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | inv_chi_square_ccdf_log (const T_y &y, const T_dof &nu) |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | inv_chi_square_cdf (const T_y &y, const T_dof &nu) |
| Returns the inverse chi square cumulative distribution function for the given variate and degrees of freedom. More... | |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | inv_chi_square_cdf_log (const T_y &y, const T_dof &nu) |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | inv_chi_square_lccdf (const T_y &y, const T_dof &nu) |
| Returns the inverse chi square log complementary cumulative distribution function for the given variate and degrees of freedom. More... | |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | inv_chi_square_lcdf (const T_y &y, const T_dof &nu) |
| Returns the inverse chi square log cumulative distribution function for the given variate and degrees of freedom. More... | |
| template<bool propto, typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | inv_chi_square_log (const T_y &y, const T_dof &nu) |
| The log of an inverse chi-squared density for y with the specified degrees of freedom parameter. More... | |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | inv_chi_square_log (const T_y &y, const T_dof &nu) |
| template<bool propto, typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | inv_chi_square_lpdf (const T_y &y, const T_dof &nu) |
| The log of an inverse chi-squared density for y with the specified degrees of freedom parameter. More... | |
| template<typename T_y , typename T_dof > | |
| return_type_t< T_y, T_dof > | inv_chi_square_lpdf (const T_y &y, const T_dof &nu) |
| template<typename T_deg , class RNG > | |
| VectorBuilder< true, double, T_deg >::type | inv_chi_square_rng (const T_deg &nu, RNG &rng) |
| Return a pseudorandom inverse chi squared variate with the nu degrees of freedom using the specified random number generator. More... | |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | inv_gamma_ccdf_log (const T_y &y, const T_shape &alpha, const T_scale &beta) |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | inv_gamma_cdf (const T_y &y, const T_shape &alpha, const T_scale &beta) |
| The CDF of an inverse gamma density for y with the specified shape and scale parameters. More... | |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | inv_gamma_cdf_log (const T_y &y, const T_shape &alpha, const T_scale &beta) |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | inv_gamma_lccdf (const T_y &y, const T_shape &alpha, const T_scale &beta) |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | inv_gamma_lcdf (const T_y &y, const T_shape &alpha, const T_scale &beta) |
| template<bool propto, typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | inv_gamma_log (const T_y &y, const T_shape &alpha, const T_scale &beta) |
| The log of an inverse gamma density for y with the specified shape and scale parameters. More... | |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | inv_gamma_log (const T_y &y, const T_shape &alpha, const T_scale &beta) |
| template<bool propto, typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | inv_gamma_lpdf (const T_y &y, const T_shape &alpha, const T_scale &beta) |
| The log of an inverse gamma density for y with the specified shape and scale parameters. More... | |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | inv_gamma_lpdf (const T_y &y, const T_shape &alpha, const T_scale &beta) |
| template<typename T_shape , typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_shape, T_scale >::type | inv_gamma_rng (const T_shape &alpha, const T_scale &beta, RNG &rng) |
| Return a pseudorandom inverse gamma variate for the given shape and scale parameters using the specified random number generator. More... | |
| template<bool propto, typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | inv_wishart_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &W, const T_dof &nu, const Eigen::Matrix< T_scale, Eigen::Dynamic, Eigen::Dynamic > &S) |
| The log of the Inverse-Wishart density for the given W, degrees of freedom, and scale matrix. More... | |
| template<typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | inv_wishart_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &W, const T_dof &nu, const Eigen::Matrix< T_scale, Eigen::Dynamic, Eigen::Dynamic > &S) |
| template<bool propto, typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | inv_wishart_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &W, const T_dof &nu, const Eigen::Matrix< T_scale, Eigen::Dynamic, Eigen::Dynamic > &S) |
| The log of the Inverse-Wishart density for the given W, degrees of freedom, and scale matrix. More... | |
| template<typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | inv_wishart_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &W, const T_dof &nu, const Eigen::Matrix< T_scale, Eigen::Dynamic, Eigen::Dynamic > &S) |
| template<class RNG > | |
| Eigen::MatrixXd | inv_wishart_rng (double nu, const Eigen::MatrixXd &S, RNG &rng) |
| template<bool propto, typename T_covar , typename T_shape > | |
| return_type_t< T_covar, T_shape > | lkj_corr_cholesky_log (const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > &L, const T_shape &eta) |
| template<typename T_covar , typename T_shape > | |
| return_type_t< T_covar, T_shape > | lkj_corr_cholesky_log (const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > &L, const T_shape &eta) |
| template<bool propto, typename T_covar , typename T_shape > | |
| return_type_t< T_covar, T_shape > | lkj_corr_cholesky_lpdf (const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > &L, const T_shape &eta) |
| template<typename T_covar , typename T_shape > | |
| return_type_t< T_covar, T_shape > | lkj_corr_cholesky_lpdf (const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > &L, const T_shape &eta) |
| template<class RNG > | |
| Eigen::MatrixXd | lkj_corr_cholesky_rng (size_t K, double eta, RNG &rng) |
| template<bool propto, typename T_y , typename T_shape > | |
| return_type_t< T_y, T_shape > | lkj_corr_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const T_shape &eta) |
| template<typename T_y , typename T_shape > | |
| return_type_t< T_y, T_shape > | lkj_corr_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const T_shape &eta) |
| template<typename T_shape > | |
| return_type_t< double, T_shape > | do_lkj_constant (const T_shape &eta, const unsigned int &K) |
| template<bool propto, typename T_y , typename T_shape > | |
| return_type_t< T_y, T_shape > | lkj_corr_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const T_shape &eta) |
| template<typename T_y , typename T_shape > | |
| return_type_t< T_y, T_shape > | lkj_corr_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const T_shape &eta) |
| template<class RNG > | |
| Eigen::MatrixXd | lkj_corr_rng (size_t K, double eta, RNG &rng) |
| Return a random correlation matrix (symmetric, positive definite, unit diagonal) of the specified dimensionality drawn from the LKJ distribution with the specified degrees of freedom using the specified random number generator. More... | |
| template<bool propto, typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | lkj_cov_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_loc, Eigen::Dynamic, 1 > &mu, const Eigen::Matrix< T_scale, Eigen::Dynamic, 1 > &sigma, const T_shape &eta) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | lkj_cov_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_loc, Eigen::Dynamic, 1 > &mu, const Eigen::Matrix< T_scale, Eigen::Dynamic, 1 > &sigma, const T_shape &eta) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | lkj_cov_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const T_loc &mu, const T_scale &sigma, const T_shape &eta) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | lkj_cov_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const T_loc &mu, const T_scale &sigma, const T_shape &eta) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | lkj_cov_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_loc, Eigen::Dynamic, 1 > &mu, const Eigen::Matrix< T_scale, Eigen::Dynamic, 1 > &sigma, const T_shape &eta) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | lkj_cov_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_loc, Eigen::Dynamic, 1 > &mu, const Eigen::Matrix< T_scale, Eigen::Dynamic, 1 > &sigma, const T_shape &eta) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | lkj_cov_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const T_loc &mu, const T_scale &sigma, const T_shape &eta) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | lkj_cov_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const T_loc &mu, const T_scale &sigma, const T_shape &eta) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | logistic_ccdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | logistic_cdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | logistic_cdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | logistic_lccdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | logistic_lcdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | logistic_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | logistic_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | logistic_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | logistic_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_loc , typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_loc, T_scale >::type | logistic_rng (const T_loc &mu, const T_scale &sigma, RNG &rng) |
| Return a Logistic random variate for the given location and scale using the specified random number generator. More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | lognormal_ccdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | lognormal_cdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | lognormal_cdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | lognormal_lccdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | lognormal_lcdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | lognormal_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | lognormal_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | lognormal_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | lognormal_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_loc , typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_loc, T_scale >::type | lognormal_rng (const T_loc &mu, const T_scale &sigma, RNG &rng) |
| Return a lognormal random variate for the given location and scale using the specified random number generator. More... | |
| template<bool propto, typename T_y , typename T_Mu , typename T_Sigma , typename T_D > | |
| return_type_t< T_y, T_Mu, T_Sigma, T_D > | matrix_normal_prec_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_Mu, Eigen::Dynamic, Eigen::Dynamic > &Mu, const Eigen::Matrix< T_Sigma, Eigen::Dynamic, Eigen::Dynamic > &Sigma, const Eigen::Matrix< T_D, Eigen::Dynamic, Eigen::Dynamic > &D) |
| The log of the matrix normal density for the given y, mu, Sigma and D where Sigma and D are given as precision matrices, not covariance matrices. More... | |
| template<typename T_y , typename T_Mu , typename T_Sigma , typename T_D > | |
| return_type_t< T_y, T_Mu, T_Sigma, T_D > | matrix_normal_prec_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_Mu, Eigen::Dynamic, Eigen::Dynamic > &Mu, const Eigen::Matrix< T_Sigma, Eigen::Dynamic, Eigen::Dynamic > &Sigma, const Eigen::Matrix< T_D, Eigen::Dynamic, Eigen::Dynamic > &D) |
| template<bool propto, typename T_y , typename T_Mu , typename T_Sigma , typename T_D > | |
| return_type_t< T_y, T_Mu, T_Sigma, T_D > | matrix_normal_prec_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_Mu, Eigen::Dynamic, Eigen::Dynamic > &Mu, const Eigen::Matrix< T_Sigma, Eigen::Dynamic, Eigen::Dynamic > &Sigma, const Eigen::Matrix< T_D, Eigen::Dynamic, Eigen::Dynamic > &D) |
| The log of the matrix normal density for the given y, mu, Sigma and D where Sigma and D are given as precision matrices, not covariance matrices. More... | |
| template<typename T_y , typename T_Mu , typename T_Sigma , typename T_D > | |
| return_type_t< T_y, T_Mu, T_Sigma, T_D > | matrix_normal_prec_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_Mu, Eigen::Dynamic, Eigen::Dynamic > &Mu, const Eigen::Matrix< T_Sigma, Eigen::Dynamic, Eigen::Dynamic > &Sigma, const Eigen::Matrix< T_D, Eigen::Dynamic, Eigen::Dynamic > &D) |
| template<class RNG > | |
| Eigen::MatrixXd | matrix_normal_prec_rng (const Eigen::MatrixXd &Mu, const Eigen::MatrixXd &Sigma, const Eigen::MatrixXd &D, RNG &rng) |
| Sample from the the matrix normal distribution for the given Mu, Sigma and D where Sigma and D are given as precision matrices, not covariance matrices. More... | |
| template<bool propto, typename T_y , typename T_covar , typename T_w > | |
| return_type_t< T_y, T_covar, T_w > | multi_gp_cholesky_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > &L, const Eigen::Matrix< T_w, Eigen::Dynamic, 1 > &w) |
| The log of a multivariate Gaussian Process for the given y, w, and a Cholesky factor L of the kernel matrix Sigma. More... | |
| template<typename T_y , typename T_covar , typename T_w > | |
| return_type_t< T_y, T_covar, T_w > | multi_gp_cholesky_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > &L, const Eigen::Matrix< T_w, Eigen::Dynamic, 1 > &w) |
| template<bool propto, typename T_y , typename T_covar , typename T_w > | |
| return_type_t< T_y, T_covar, T_w > | multi_gp_cholesky_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > &L, const Eigen::Matrix< T_w, Eigen::Dynamic, 1 > &w) |
| The log of a multivariate Gaussian Process for the given y, w, and a Cholesky factor L of the kernel matrix Sigma. More... | |
| template<typename T_y , typename T_covar , typename T_w > | |
| return_type_t< T_y, T_covar, T_w > | multi_gp_cholesky_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > &L, const Eigen::Matrix< T_w, Eigen::Dynamic, 1 > &w) |
| template<bool propto, typename T_y , typename T_covar , typename T_w > | |
| return_type_t< T_y, T_covar, T_w > | multi_gp_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > &Sigma, const Eigen::Matrix< T_w, Eigen::Dynamic, 1 > &w) |
| The log of a multivariate Gaussian Process for the given y, Sigma, and w. More... | |
| template<typename T_y , typename T_covar , typename T_w > | |
| return_type_t< T_y, T_covar, T_w > | multi_gp_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > &Sigma, const Eigen::Matrix< T_w, Eigen::Dynamic, 1 > &w) |
| template<bool propto, typename T_y , typename T_covar , typename T_w > | |
| return_type_t< T_y, T_covar, T_w > | multi_gp_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > &Sigma, const Eigen::Matrix< T_w, Eigen::Dynamic, 1 > &w) |
| The log of a multivariate Gaussian Process for the given y, Sigma, and w. More... | |
| template<typename T_y , typename T_covar , typename T_w > | |
| return_type_t< T_y, T_covar, T_w > | multi_gp_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y, const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > &Sigma, const Eigen::Matrix< T_w, Eigen::Dynamic, 1 > &w) |
| template<bool propto, typename T_y , typename T_loc , typename T_covar > | |
| return_type_t< T_y, T_loc, T_covar > | multi_normal_cholesky_log (const T_y &y, const T_loc &mu, const T_covar &L) |
| The log of the multivariate normal density for the given y, mu, and a Cholesky factor L of the variance matrix. More... | |
| template<typename T_y , typename T_loc , typename T_covar > | |
| return_type_t< T_y, T_loc, T_covar > | multi_normal_cholesky_log (const T_y &y, const T_loc &mu, const T_covar &L) |
| template<bool propto, typename T_y , typename T_loc , typename T_covar > | |
| return_type_t< T_y, T_loc, T_covar > | multi_normal_cholesky_lpdf (const T_y &y, const T_loc &mu, const T_covar &L) |
| The log of the multivariate normal density for the given y, mu, and a Cholesky factor L of the variance matrix. More... | |
| template<typename T_y , typename T_loc , typename T_covar > | |
| return_type_t< T_y, T_loc, T_covar > | multi_normal_cholesky_lpdf (const T_y &y, const T_loc &mu, const T_covar &L) |
| template<typename T_loc , class RNG > | |
| StdVectorBuilder< true, Eigen::VectorXd, T_loc >::type | multi_normal_cholesky_rng (const T_loc &mu, const Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > &L, RNG &rng) |
| Return a multivariate normal random variate with the given location and Cholesky factorization of the covariance using the specified random number generator. More... | |
| template<bool propto, typename T_y , typename T_loc , typename T_covar > | |
| return_type_t< T_y, T_loc, T_covar > | multi_normal_log (const T_y &y, const T_loc &mu, const T_covar &Sigma) |
| template<typename T_y , typename T_loc , typename T_covar > | |
| return_type_t< T_y, T_loc, T_covar > | multi_normal_log (const T_y &y, const T_loc &mu, const T_covar &Sigma) |
| template<bool propto, typename T_y , typename T_loc , typename T_covar > | |
| return_type_t< T_y, T_loc, T_covar > | multi_normal_lpdf (const T_y &y, const T_loc &mu, const T_covar &Sigma) |
| template<typename T_y , typename T_loc , typename T_covar > | |
| return_type_t< T_y, T_loc, T_covar > | multi_normal_lpdf (const T_y &y, const T_loc &mu, const T_covar &Sigma) |
| template<bool propto, typename T_y , typename T_loc , typename T_covar > | |
| return_type_t< T_y, T_loc, T_covar > | multi_normal_prec_log (const T_y &y, const T_loc &mu, const T_covar &Sigma) |
| template<typename T_y , typename T_loc , typename T_covar > | |
| return_type_t< T_y, T_loc, T_covar > | multi_normal_prec_log (const T_y &y, const T_loc &mu, const T_covar &Sigma) |
| template<bool propto, typename T_y , typename T_loc , typename T_covar > | |
| return_type_t< T_y, T_loc, T_covar > | multi_normal_prec_lpdf (const T_y &y, const T_loc &mu, const T_covar &Sigma) |
| template<typename T_y , typename T_loc , typename T_covar > | |
| return_type_t< T_y, T_loc, T_covar > | multi_normal_prec_lpdf (const T_y &y, const T_loc &mu, const T_covar &Sigma) |
| template<typename T_loc , class RNG > | |
| StdVectorBuilder< true, Eigen::VectorXd, T_loc >::type | multi_normal_prec_rng (const T_loc &mu, const Eigen::MatrixXd &S, RNG &rng) |
| Return a multivariate normal random variate with the given location and precision using the specified random number generator. More... | |
| template<typename T_loc , class RNG > | |
| StdVectorBuilder< true, Eigen::VectorXd, T_loc >::type | multi_normal_rng (const T_loc &mu, const Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > &S, RNG &rng) |
| Return a multivariate normal random variate with the given location and covariance using the specified random number generator. More... | |
| template<bool propto, typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | multi_student_t_log (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &Sigma) |
| Return the log of the multivariate Student t distribution at the specified arguments. More... | |
| template<typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | multi_student_t_log (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &Sigma) |
| template<bool propto, typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | multi_student_t_lpdf (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &Sigma) |
| Return the log of the multivariate Student t distribution at the specified arguments. More... | |
| template<typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | multi_student_t_lpdf (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &Sigma) |
| template<typename T_loc , class RNG > | |
| StdVectorBuilder< true, Eigen::VectorXd, T_loc >::type | multi_student_t_rng (double nu, const T_loc &mu, const Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > &S, RNG &rng) |
| Return a multivariate student-t random variate with the given degrees of freedom location and covariance using the specified random number generator. More... | |
| template<bool propto, typename T_prob > | |
| return_type_t< T_prob > | multinomial_log (const std::vector< int > &ns, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| template<typename T_prob > | |
| return_type_t< T_prob > | multinomial_log (const std::vector< int > &ns, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| template<bool propto, typename T_prob > | |
| return_type_t< T_prob > | multinomial_lpmf (const std::vector< int > &ns, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| template<typename T_prob > | |
| return_type_t< T_prob > | multinomial_lpmf (const std::vector< int > &ns, const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > &theta) |
| template<class RNG > | |
| std::vector< int > | multinomial_rng (const Eigen::Matrix< double, Eigen::Dynamic, 1 > &theta, int N, RNG &rng) |
| template<typename T_n , typename T_location , typename T_precision > | |
| return_type_t< T_location, T_precision > | neg_binomial_2_ccdf_log (const T_n &n, const T_location &mu, const T_precision &phi) |
| template<typename T_n , typename T_location , typename T_precision > | |
| return_type_t< T_location, T_precision > | neg_binomial_2_cdf (const T_n &n, const T_location &mu, const T_precision &phi) |
| template<typename T_n , typename T_location , typename T_precision > | |
| return_type_t< T_location, T_precision > | neg_binomial_2_cdf_log (const T_n &n, const T_location &mu, const T_precision &phi) |
| template<typename T_n , typename T_location , typename T_precision > | |
| return_type_t< T_location, T_precision > | neg_binomial_2_lccdf (const T_n &n, const T_location &mu, const T_precision &phi) |
| template<typename T_n , typename T_location , typename T_precision > | |
| return_type_t< T_location, T_precision > | neg_binomial_2_lcdf (const T_n &n, const T_location &mu, const T_precision &phi) |
| template<bool propto, typename T_n , typename T_location , typename T_precision > | |
| return_type_t< T_location, T_precision > | neg_binomial_2_log (const T_n &n, const T_location &mu, const T_precision &phi) |
| template<typename T_n , typename T_location , typename T_precision > | |
| return_type_t< T_location, T_precision > | neg_binomial_2_log (const T_n &n, const T_location &mu, const T_precision &phi) |
| template<bool propto, typename T_y , typename T_x , typename T_alpha , typename T_beta , typename T_precision > | |
| return_type_t< T_x, T_alpha, T_beta, T_precision > | neg_binomial_2_log_glm_log (const T_y &y, const T_x &x, const T_alpha &alpha, const T_beta &beta, const T_precision &phi) |
| template<typename T_y , typename T_x , typename T_alpha , typename T_beta , typename T_precision > | |
| return_type_t< T_x, T_alpha, T_beta, T_precision > | neg_binomial_2_log_glm_log (const T_y &y, const T_x &x, const T_alpha &alpha, const T_beta &beta, const T_precision &phi) |
| template<bool propto, typename T_y , typename T_x_scalar , int T_x_rows, typename T_alpha , typename T_beta , typename T_precision > | |
| return_type_t< T_x_scalar, T_alpha, T_beta, T_precision > | neg_binomial_2_log_glm_lpmf (const T_y &y, const Eigen::Matrix< T_x_scalar, T_x_rows, Eigen::Dynamic > &x, const T_alpha &alpha, const T_beta &beta, const T_precision &phi) |
| Returns the log PMF of the Generalized Linear Model (GLM) with Negative-Binomial-2 distribution and log link function. More... | |
| template<typename T_y , typename T_x , typename T_alpha , typename T_beta , typename T_precision > | |
| return_type_t< T_x, T_alpha, T_beta, T_precision > | neg_binomial_2_log_glm_lpmf (const T_y &y, const T_x &x, const T_alpha &alpha, const T_beta &beta, const T_precision &phi) |
| template<bool propto, typename T_n , typename T_log_location , typename T_precision > | |
| return_type_t< T_log_location, T_precision > | neg_binomial_2_log_log (const T_n &n, const T_log_location &eta, const T_precision &phi) |
| template<typename T_n , typename T_log_location , typename T_precision > | |
| return_type_t< T_log_location, T_precision > | neg_binomial_2_log_log (const T_n &n, const T_log_location &eta, const T_precision &phi) |
| template<bool propto, typename T_n , typename T_log_location , typename T_precision > | |
| return_type_t< T_log_location, T_precision > | neg_binomial_2_log_lpmf (const T_n &n, const T_log_location &eta, const T_precision &phi) |
| template<typename T_n , typename T_log_location , typename T_precision > | |
| return_type_t< T_log_location, T_precision > | neg_binomial_2_log_lpmf (const T_n &n, const T_log_location &eta, const T_precision &phi) |
| template<typename T_loc , typename T_inv , class RNG > | |
| VectorBuilder< true, int, T_loc, T_inv >::type | neg_binomial_2_log_rng (const T_loc &eta, const T_inv &phi, RNG &rng) |
| Return a negative binomial random variate with the specified log-location and inverse dispersion parameters using the given random number generator. More... | |
| template<bool propto, typename T_n , typename T_location , typename T_precision > | |
| return_type_t< T_location, T_precision > | neg_binomial_2_lpmf (const T_n &n, const T_location &mu, const T_precision &phi) |
| template<typename T_n , typename T_location , typename T_precision > | |
| return_type_t< T_location, T_precision > | neg_binomial_2_lpmf (const T_n &n, const T_location &mu, const T_precision &phi) |
| template<typename T_loc , typename T_prec , class RNG > | |
| VectorBuilder< true, int, T_loc, T_prec >::type | neg_binomial_2_rng (const T_loc &mu, const T_prec &phi, RNG &rng) |
| Return a negative binomial random variate with the specified location and precision parameters using the given random number generator. More... | |
| template<typename T_n , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_shape, T_inv_scale > | neg_binomial_ccdf_log (const T_n &n, const T_shape &alpha, const T_inv_scale &beta) |
| template<typename T_n , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_shape, T_inv_scale > | neg_binomial_cdf (const T_n &n, const T_shape &alpha, const T_inv_scale &beta) |
| template<typename T_n , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_shape, T_inv_scale > | neg_binomial_cdf_log (const T_n &n, const T_shape &alpha, const T_inv_scale &beta) |
| template<typename T_n , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_shape, T_inv_scale > | neg_binomial_lccdf (const T_n &n, const T_shape &alpha, const T_inv_scale &beta) |
| template<typename T_n , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_shape, T_inv_scale > | neg_binomial_lcdf (const T_n &n, const T_shape &alpha, const T_inv_scale &beta) |
| template<bool propto, typename T_n , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_shape, T_inv_scale > | neg_binomial_log (const T_n &n, const T_shape &alpha, const T_inv_scale &beta) |
| template<typename T_n , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_shape, T_inv_scale > | neg_binomial_log (const T_n &n, const T_shape &alpha, const T_inv_scale &beta) |
| template<bool propto, typename T_n , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_shape, T_inv_scale > | neg_binomial_lpmf (const T_n &n, const T_shape &alpha, const T_inv_scale &beta) |
| template<typename T_n , typename T_shape , typename T_inv_scale > | |
| return_type_t< T_shape, T_inv_scale > | neg_binomial_lpmf (const T_n &n, const T_shape &alpha, const T_inv_scale &beta) |
| template<typename T_shape , typename T_inv , class RNG > | |
| VectorBuilder< true, int, T_shape, T_inv >::type | neg_binomial_rng (const T_shape &alpha, const T_inv &beta, RNG &rng) |
| Return a negative binomial random variate with the specified shape and inverse scale parameters using the given random number generator. More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | normal_ccdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | normal_cdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| Calculates the normal cumulative distribution function for the given variate, location, and scale. More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | normal_cdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_x , typename T_alpha , typename T_beta , typename T_scale > | |
| return_type_t< T_y, T_x, T_alpha, T_beta, T_scale > | normal_id_glm_log (const T_y &y, const T_x &x, const T_alpha &alpha, const T_beta &beta, const T_scale &sigma) |
| template<typename T_y , typename T_x , typename T_alpha , typename T_beta , typename T_scale > | |
| return_type_t< T_y, T_x, T_alpha, T_beta, T_scale > | normal_id_glm_log (const T_y &y, const T_x &x, const T_alpha &alpha, const T_beta &beta, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_x_scalar , int T_x_rows, typename T_alpha , typename T_beta , typename T_scale > | |
| return_type_t< T_y, T_x_scalar, T_alpha, T_beta, T_scale > | normal_id_glm_lpdf (const T_y &y, const Eigen::Matrix< T_x_scalar, T_x_rows, Eigen::Dynamic > &x, const T_alpha &alpha, const T_beta &beta, const T_scale &sigma) |
| Returns the log PDF of the Generalized Linear Model (GLM) with Normal distribution and id link function. More... | |
| template<typename T_y , typename T_x , typename T_alpha , typename T_beta , typename T_scale > | |
| return_type_t< T_y, T_x, T_alpha, T_beta, T_scale > | normal_id_glm_lpdf (const T_y &y, const T_x &x, const T_alpha &alpha, const T_beta &beta, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | normal_lccdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | normal_lcdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | normal_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| The log of the normal density for the specified scalar(s) given the specified mean(s) and deviation(s). More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | normal_log (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | normal_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| The log of the normal density for the specified scalar(s) given the specified mean(s) and deviation(s). More... | |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | normal_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma) |
| template<typename T_loc , typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_loc, T_scale >::type | normal_rng (const T_loc &mu, const T_scale &sigma, RNG &rng) |
| Return a Normal random variate for the given location and scale using the specified random number generator. More... | |
| template<bool propto, typename T_y , typename T_s , typename T_n , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_s, T_loc, T_scale > | normal_sufficient_log (const T_y &y_bar, const T_s &s_squared, const T_n &n_obs, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_s , typename T_n , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_s, T_loc, T_scale > | normal_sufficient_log (const T_y &y_bar, const T_s &s_squared, const T_n &n_obs, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_s , typename T_n , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_s, T_loc, T_scale > | normal_sufficient_lpdf (const T_y &y_bar, const T_s &s_squared, const T_n &n_obs, const T_loc &mu, const T_scale &sigma) |
| The log of the normal density for the specified scalar(s) given the specified mean(s) and deviation(s). More... | |
| template<typename T_y , typename T_s , typename T_n , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_s, T_loc, T_scale > | normal_sufficient_lpdf (const T_y &y_bar, const T_s &s_squared, const T_n &n_obs, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_x_scalar , int T_x_rows, typename T_beta_scalar , typename T_cuts_scalar > | |
| return_type_t< T_x_scalar, T_beta_scalar, T_cuts_scalar > | ordered_logistic_glm_lpmf (const T_y &y, const Eigen::Matrix< T_x_scalar, T_x_rows, Eigen::Dynamic > &x, const Eigen::Matrix< T_beta_scalar, Eigen::Dynamic, 1 > &beta, const Eigen::Matrix< T_cuts_scalar, Eigen::Dynamic, 1 > &cuts) |
| Returns the log PMF of the ordinal regression Generalized Linear Model (GLM). More... | |
| template<typename T_y , typename T_x_scalar , int T_x_rows, typename T_beta_scalar , typename T_cuts_scalar > | |
| return_type_t< T_x_scalar, T_beta_scalar, T_cuts_scalar > | ordered_logistic_glm_lpmf (const T_y &y, const Eigen::Matrix< T_x_scalar, T_x_rows, Eigen::Dynamic > &x, const Eigen::Matrix< T_beta_scalar, Eigen::Dynamic, 1 > &beta, const Eigen::Matrix< T_cuts_scalar, Eigen::Dynamic, 1 > &cuts) |
| template<bool propto, typename T_y , typename T_loc , typename T_cut > | |
| return_type_t< T_loc, T_cut > | ordered_logistic_log (const T_y &y, const T_loc &lambda, const T_cut &c) |
| Returns the (natural) log probability of the integer/s given the vector of continuous location/s and specified cutpoints in an ordered logistic model. More... | |
| template<typename T_y , typename T_loc , typename T_cut > | |
| return_type_t< T_loc, T_cut > | ordered_logistic_log (const T_y &y, const T_loc &lambda, const T_cut &c) |
| template<bool propto, typename T_y , typename T_loc , typename T_cut > | |
| return_type_t< T_loc, T_cut > | ordered_logistic_lpmf (const T_y &y, const T_loc &lambda, const T_cut &c) |
| Returns the (natural) log probability of the specified array of integers given the vector of continuous locations and specified cutpoints in an ordered logistic model. More... | |
| template<typename T_y , typename T_loc , typename T_cut > | |
| return_type_t< T_loc, T_cut > | ordered_logistic_lpmf (const T_y &y, const T_loc &lambda, const T_cut &c) |
| template<class RNG > | |
| int | ordered_logistic_rng (double eta, const Eigen::Matrix< double, Eigen::Dynamic, 1 > &c, RNG &rng) |
| template<bool propto, typename T_y , typename T_loc , typename T_cut > | |
| return_type_t< T_loc, T_cut > | ordered_probit_log (const T_y &y, const T_loc &lambda, const T_cut &c) |
| Returns the (natural) log probability of the integer/s given the vector of continuous location/s and specified cutpoints in an ordered probit model. More... | |
| template<typename T_y , typename T_loc , typename T_cut > | |
| return_type_t< T_loc, T_cut > | ordered_probit_log (const T_y &y, const T_loc &lambda, const T_cut &c) |
| template<bool propto, typename T_loc , typename T_cut > | |
| return_type_t< T_loc, T_cut > | ordered_probit_lpmf (int y, const T_loc &lambda, const Eigen::Matrix< T_cut, Eigen::Dynamic, 1 > &c) |
| Returns the (natural) log probability of the specified integer outcome given the continuous location and specified cutpoints in an ordered probit model. More... | |
| template<typename T_loc , typename T_cut > | |
| return_type_t< T_loc, T_cut > | ordered_probit_lpmf (int y, const T_loc &lambda, const Eigen::Matrix< T_cut, Eigen::Dynamic, 1 > &c) |
| template<bool propto, typename T_loc , typename T_cut > | |
| return_type_t< T_loc, T_cut > | ordered_probit_lpmf (const std::vector< int > &y, const Eigen::Matrix< T_loc, Eigen::Dynamic, 1 > &lambda, const Eigen::Matrix< T_cut, Eigen::Dynamic, 1 > &c) |
| Returns the (natural) log probability of the specified array of integers given the vector of continuous locations and specified cutpoints in an ordered probit model. More... | |
| template<typename T_loc , typename T_cut > | |
| return_type_t< T_loc, T_cut > | ordered_probit_lpmf (const std::vector< int > &y, const Eigen::Matrix< T_loc, Eigen::Dynamic, 1 > &lambda, const Eigen::Matrix< T_cut, Eigen::Dynamic, 1 > &c) |
| template<bool propto, typename T_loc , typename T_cut > | |
| return_type_t< T_loc, T_cut > | ordered_probit_lpmf (const std::vector< int > &y, const Eigen::Matrix< T_loc, Eigen::Dynamic, 1 > &lambda, const std::vector< Eigen::Matrix< T_cut, Eigen::Dynamic, 1 > > &c) |
| Returns the (natural) log probability of the specified array of integers given the vector of continuous locations and array of specified cutpoints in an ordered probit model. More... | |
| template<typename T_loc , typename T_cut > | |
| return_type_t< T_loc, T_cut > | ordered_probit_lpmf (const std::vector< int > &y, const Eigen::Matrix< T_loc, Eigen::Dynamic, 1 > &lambda, const std::vector< Eigen::Matrix< T_cut, Eigen::Dynamic, 1 > > &c) |
| template<class RNG > | |
| int | ordered_probit_rng (double eta, const Eigen::VectorXd &c, RNG &rng) |
| template<typename T_y , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_scale, T_shape > | pareto_ccdf_log (const T_y &y, const T_scale &y_min, const T_shape &alpha) |
| template<typename T_y , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_scale, T_shape > | pareto_cdf (const T_y &y, const T_scale &y_min, const T_shape &alpha) |
| template<typename T_y , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_scale, T_shape > | pareto_cdf_log (const T_y &y, const T_scale &y_min, const T_shape &alpha) |
| template<typename T_y , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_scale, T_shape > | pareto_lccdf (const T_y &y, const T_scale &y_min, const T_shape &alpha) |
| template<typename T_y , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_scale, T_shape > | pareto_lcdf (const T_y &y, const T_scale &y_min, const T_shape &alpha) |
| template<bool propto, typename T_y , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_scale, T_shape > | pareto_log (const T_y &y, const T_scale &y_min, const T_shape &alpha) |
| template<typename T_y , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_scale, T_shape > | pareto_log (const T_y &y, const T_scale &y_min, const T_shape &alpha) |
| template<bool propto, typename T_y , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_scale, T_shape > | pareto_lpdf (const T_y &y, const T_scale &y_min, const T_shape &alpha) |
| template<typename T_y , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_scale, T_shape > | pareto_lpdf (const T_y &y, const T_scale &y_min, const T_shape &alpha) |
| template<typename T_shape , typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_shape, T_scale >::type | pareto_rng (const T_scale &y_min, const T_shape &alpha, RNG &rng) |
| Return a Pareto random variate for the given shape and scale parameters using the specified random number generator. More... | |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | pareto_type_2_ccdf_log (const T_y &y, const T_loc &mu, const T_scale &lambda, const T_shape &alpha) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | pareto_type_2_cdf (const T_y &y, const T_loc &mu, const T_scale &lambda, const T_shape &alpha) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | pareto_type_2_cdf_log (const T_y &y, const T_loc &mu, const T_scale &lambda, const T_shape &alpha) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | pareto_type_2_lccdf (const T_y &y, const T_loc &mu, const T_scale &lambda, const T_shape &alpha) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | pareto_type_2_lcdf (const T_y &y, const T_loc &mu, const T_scale &lambda, const T_shape &alpha) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | pareto_type_2_log (const T_y &y, const T_loc &mu, const T_scale &lambda, const T_shape &alpha) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | pareto_type_2_log (const T_y &y, const T_loc &mu, const T_scale &lambda, const T_shape &alpha) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | pareto_type_2_lpdf (const T_y &y, const T_loc &mu, const T_scale &lambda, const T_shape &alpha) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | pareto_type_2_lpdf (const T_y &y, const T_loc &mu, const T_scale &lambda, const T_shape &alpha) |
| template<typename T_loc , typename T_scale , typename T_shape , class RNG > | |
| VectorBuilder< true, double, T_loc, T_scale, T_shape >::type | pareto_type_2_rng (const T_loc &mu, const T_scale &lambda, const T_shape &alpha, RNG &rng) |
| Return a Pareto type 2 random variate for the given location, scale, and shape using the specified random number generator. More... | |
| template<typename T_n , typename T_rate > | |
| return_type_t< T_rate > | poisson_ccdf_log (const T_n &n, const T_rate &lambda) |
| template<typename T_n , typename T_rate > | |
| return_type_t< T_rate > | poisson_cdf (const T_n &n, const T_rate &lambda) |
| template<typename T_n , typename T_rate > | |
| return_type_t< T_rate > | poisson_cdf_log (const T_n &n, const T_rate &lambda) |
| template<typename T_n , typename T_rate > | |
| return_type_t< T_rate > | poisson_lccdf (const T_n &n, const T_rate &lambda) |
| template<typename T_n , typename T_rate > | |
| return_type_t< T_rate > | poisson_lcdf (const T_n &n, const T_rate &lambda) |
| template<bool propto, typename T_n , typename T_rate > | |
| return_type_t< T_rate > | poisson_log (const T_n &n, const T_rate &lambda) |
| template<typename T_n , typename T_rate > | |
| return_type_t< T_rate > | poisson_log (const T_n &n, const T_rate &lambda) |
| template<bool propto, typename T_y , typename T_x , typename T_alpha , typename T_beta > | |
| return_type_t< T_x, T_alpha, T_beta > | poisson_log_glm_log (const T_y &y, const T_x &x, const T_alpha &alpha, const T_beta &beta) |
| template<typename T_y , typename T_x , typename T_alpha , typename T_beta > | |
| return_type_t< T_x, T_alpha, T_beta > | poisson_log_glm_log (const T_y &y, const T_x &x, const T_alpha &alpha, const T_beta &beta) |
| template<bool propto, typename T_y , typename T_x_scalar , int T_x_rows, typename T_alpha , typename T_beta > | |
| return_type_t< T_x_scalar, T_alpha, T_beta > | poisson_log_glm_lpmf (const T_y &y, const Eigen::Matrix< T_x_scalar, T_x_rows, Eigen::Dynamic > &x, const T_alpha &alpha, const T_beta &beta) |
| Returns the log PMF of the Generalized Linear Model (GLM) with Poisson distribution and log link function. More... | |
| template<typename T_y , typename T_x , typename T_alpha , typename T_beta > | |
| return_type_t< T_x, T_alpha, T_beta > | poisson_log_glm_lpmf (const T_y &y, const T_x &x, const T_alpha &alpha, const T_beta &beta) |
| template<bool propto, typename T_n , typename T_log_rate > | |
| return_type_t< T_log_rate > | poisson_log_log (const T_n &n, const T_log_rate &alpha) |
| template<typename T_n , typename T_log_rate > | |
| return_type_t< T_log_rate > | poisson_log_log (const T_n &n, const T_log_rate &alpha) |
| template<bool propto, typename T_n , typename T_log_rate > | |
| return_type_t< T_log_rate > | poisson_log_lpmf (const T_n &n, const T_log_rate &alpha) |
| template<typename T_n , typename T_log_rate > | |
| return_type_t< T_log_rate > | poisson_log_lpmf (const T_n &n, const T_log_rate &alpha) |
| template<typename T_rate , class RNG > | |
| VectorBuilder< true, int, T_rate >::type | poisson_log_rng (const T_rate &alpha, RNG &rng) |
| Return a Poisson random variate with specified log rate parameter using the given random number generator. More... | |
| template<bool propto, typename T_n , typename T_rate > | |
| return_type_t< T_rate > | poisson_lpmf (const T_n &n, const T_rate &lambda) |
| template<typename T_n , typename T_rate > | |
| return_type_t< T_rate > | poisson_lpmf (const T_n &n, const T_rate &lambda) |
| template<typename T_rate , class RNG > | |
| VectorBuilder< true, int, T_rate >::type | poisson_rng (const T_rate &lambda, RNG &rng) |
| Return a Poisson random variate with specified rate parameter using the given random number generator. More... | |
| template<typename T_y , typename T_scale > | |
| return_type_t< T_y, T_scale > | rayleigh_ccdf_log (const T_y &y, const T_scale &sigma) |
| template<typename T_y , typename T_scale > | |
| return_type_t< T_y, T_scale > | rayleigh_cdf (const T_y &y, const T_scale &sigma) |
| template<typename T_y , typename T_scale > | |
| return_type_t< T_y, T_scale > | rayleigh_cdf_log (const T_y &y, const T_scale &sigma) |
| template<typename T_y , typename T_scale > | |
| return_type_t< T_y, T_scale > | rayleigh_lccdf (const T_y &y, const T_scale &sigma) |
| template<typename T_y , typename T_scale > | |
| return_type_t< T_y, T_scale > | rayleigh_lcdf (const T_y &y, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_scale > | |
| return_type_t< T_y, T_scale > | rayleigh_log (const T_y &y, const T_scale &sigma) |
| template<typename T_y , typename T_scale > | |
| return_type_t< T_y, T_scale > | rayleigh_log (const T_y &y, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_scale > | |
| return_type_t< T_y, T_scale > | rayleigh_lpdf (const T_y &y, const T_scale &sigma) |
| template<typename T_y , typename T_scale > | |
| return_type_t< T_y, T_scale > | rayleigh_lpdf (const T_y &y, const T_scale &sigma) |
| template<typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_scale >::type | rayleigh_rng (const T_scale &sigma, RNG &rng) |
| Return a Rayleigh random variate with scale parameter sigma using the specified random number generator. More... | |
| template<typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | scaled_inv_chi_square_ccdf_log (const T_y &y, const T_dof &nu, const T_scale &s) |
| template<typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | scaled_inv_chi_square_cdf (const T_y &y, const T_dof &nu, const T_scale &s) |
| The CDF of a scaled inverse chi-squared density for y with the specified degrees of freedom parameter and scale parameter. More... | |
| template<typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | scaled_inv_chi_square_cdf_log (const T_y &y, const T_dof &nu, const T_scale &s) |
| template<typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | scaled_inv_chi_square_lccdf (const T_y &y, const T_dof &nu, const T_scale &s) |
| template<typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | scaled_inv_chi_square_lcdf (const T_y &y, const T_dof &nu, const T_scale &s) |
| template<bool propto, typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | scaled_inv_chi_square_log (const T_y &y, const T_dof &nu, const T_scale &s) |
| The log of a scaled inverse chi-squared density for y with the specified degrees of freedom parameter and scale parameter. More... | |
| template<typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | scaled_inv_chi_square_log (const T_y &y, const T_dof &nu, const T_scale &s) |
| template<bool propto, typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | scaled_inv_chi_square_lpdf (const T_y &y, const T_dof &nu, const T_scale &s) |
| The log of a scaled inverse chi-squared density for y with the specified degrees of freedom parameter and scale parameter. More... | |
| template<typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | scaled_inv_chi_square_lpdf (const T_y &y, const T_dof &nu, const T_scale &s) |
| template<typename T_deg , typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_deg, T_scale >::type | scaled_inv_chi_square_rng (const T_deg &nu, const T_scale &s, RNG &rng) |
| Return a scaled chi square random variate for the given number of degrees of freedom and scale using the specified random number generator. More... | |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | skew_normal_ccdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_shape &alpha) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | skew_normal_cdf (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_shape &alpha) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | skew_normal_cdf_log (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_shape &alpha) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | skew_normal_lccdf (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_shape &alpha) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | skew_normal_lcdf (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_shape &alpha) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | skew_normal_log (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_shape &alpha) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | skew_normal_log (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_shape &alpha) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | skew_normal_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_shape &alpha) |
| template<typename T_y , typename T_loc , typename T_scale , typename T_shape > | |
| return_type_t< T_y, T_loc, T_scale, T_shape > | skew_normal_lpdf (const T_y &y, const T_loc &mu, const T_scale &sigma, const T_shape &alpha) |
| template<typename T_loc , typename T_scale , typename T_shape , class RNG > | |
| VectorBuilder< true, double, T_loc, T_scale, T_shape >::type | skew_normal_rng (const T_loc &mu, const T_scale &sigma, const T_shape &alpha, RNG &rng) |
| Return a Skew-normal random variate for the given location, scale, and shape using the specified random number generator. More... | |
| template<typename T_y > | |
| return_type_t< T_y > | std_normal_ccdf_log (const T_y &y) |
| template<typename T_y > | |
| return_type_t< T_y > | std_normal_cdf (const T_y &y) |
| Calculates the standard normal cumulative distribution function for the given variate. More... | |
| template<typename T_y > | |
| return_type_t< T_y > | std_normal_cdf_log (const T_y &y) |
| template<typename T_y > | |
| return_type_t< T_y > | std_normal_lccdf (const T_y &y) |
| template<typename T_y > | |
| return_type_t< T_y > | std_normal_lcdf (const T_y &y) |
| template<bool propto, typename T_y > | |
| return_type_t< T_y > | std_normal_log (const T_y &y) |
| The log of a standard normal density for the specified scalar(s). More... | |
| template<typename T_y > | |
| return_type_t< T_y > | std_normal_log (const T_y &y) |
| template<bool propto, typename T_y > | |
| return_type_t< T_y > | std_normal_lpdf (const T_y &y) |
| The log of the normal density for the specified scalar(s) given a location of 0 and a scale of 1. More... | |
| template<typename T_y > | |
| return_type_t< T_y > | std_normal_lpdf (const T_y &y) |
| template<class RNG > | |
| double | std_normal_rng (RNG &rng) |
| Return a standard Normal random variate using the specified random number generator. More... | |
| template<typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | student_t_ccdf_log (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | student_t_cdf (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | student_t_cdf_log (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | student_t_lccdf (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &sigma) |
| template<typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | student_t_lcdf (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | student_t_log (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &sigma) |
| The log of the Student-t density for the given y, nu, mean, and scale parameter. More... | |
| template<typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | student_t_log (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | student_t_lpdf (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &sigma) |
| The log of the Student-t density for the given y, nu, mean, and scale parameter. More... | |
| template<typename T_y , typename T_dof , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_dof, T_loc, T_scale > | student_t_lpdf (const T_y &y, const T_dof &nu, const T_loc &mu, const T_scale &sigma) |
| template<typename T_deg , typename T_loc , typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_deg, T_loc, T_scale >::type | student_t_rng (const T_deg &nu, const T_loc &mu, const T_scale &sigma, RNG &rng) |
| Return a student-t random variate for the given degrees of freedom, location, and scale using the specified random number generator. More... | |
| template<typename T_y , typename T_low , typename T_high > | |
| return_type_t< T_y, T_low, T_high > | uniform_ccdf_log (const T_y &y, const T_low &alpha, const T_high &beta) |
| template<typename T_y , typename T_low , typename T_high > | |
| return_type_t< T_y, T_low, T_high > | uniform_cdf (const T_y &y, const T_low &alpha, const T_high &beta) |
| template<typename T_y , typename T_low , typename T_high > | |
| return_type_t< T_y, T_low, T_high > | uniform_cdf_log (const T_y &y, const T_low &alpha, const T_high &beta) |
| template<typename T_y , typename T_low , typename T_high > | |
| return_type_t< T_y, T_low, T_high > | uniform_lccdf (const T_y &y, const T_low &alpha, const T_high &beta) |
| template<typename T_y , typename T_low , typename T_high > | |
| return_type_t< T_y, T_low, T_high > | uniform_lcdf (const T_y &y, const T_low &alpha, const T_high &beta) |
| template<bool propto, typename T_y , typename T_low , typename T_high > | |
| return_type_t< T_y, T_low, T_high > | uniform_log (const T_y &y, const T_low &alpha, const T_high &beta) |
| The log of a uniform density for the given y, lower, and upper bound. More... | |
| template<typename T_y , typename T_low , typename T_high > | |
| return_type_t< T_y, T_low, T_high > | uniform_log (const T_y &y, const T_low &alpha, const T_high &beta) |
| template<bool propto, typename T_y , typename T_low , typename T_high > | |
| return_type_t< T_y, T_low, T_high > | uniform_lpdf (const T_y &y, const T_low &alpha, const T_high &beta) |
| The log of a uniform density for the given y, lower, and upper bound. More... | |
| template<typename T_y , typename T_low , typename T_high > | |
| return_type_t< T_y, T_low, T_high > | uniform_lpdf (const T_y &y, const T_low &alpha, const T_high &beta) |
| template<typename T_alpha , typename T_beta , class RNG > | |
| VectorBuilder< true, double, T_alpha, T_beta >::type | uniform_rng (const T_alpha &alpha, const T_beta &beta, RNG &rng) |
| Return a uniform random variate for the given upper and lower bounds using the specified random number generator. More... | |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | von_mises_log (T_y const &y, T_loc const &mu, T_scale const &kappa) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | von_mises_log (T_y const &y, T_loc const &mu, T_scale const &kappa) |
| template<bool propto, typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | von_mises_lpdf (T_y const &y, T_loc const &mu, T_scale const &kappa) |
| template<typename T_y , typename T_loc , typename T_scale > | |
| return_type_t< T_y, T_loc, T_scale > | von_mises_lpdf (T_y const &y, T_loc const &mu, T_scale const &kappa) |
| template<typename T_loc , typename T_conc , class RNG > | |
| VectorBuilder< true, double, T_loc, T_conc >::type | von_mises_rng (const T_loc &mu, const T_conc &kappa, RNG &rng) |
| Return a von Mises random variate for the given location and concentration using the specified random number generator. More... | |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | weibull_ccdf_log (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | weibull_cdf (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| Returns the Weibull cumulative distribution function for the given location and scale. More... | |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | weibull_cdf_log (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | weibull_lccdf (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| Returns the Weibull log complementary cumulative distribution function for the given location and scale. More... | |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | weibull_lcdf (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| Returns the Weibull log cumulative distribution function for the given location and scale. More... | |
| template<bool propto, typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | weibull_log (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | weibull_log (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<bool propto, typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | weibull_lpdf (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| Returns the Weibull log probability density for the given location and scale. More... | |
| template<typename T_y , typename T_shape , typename T_scale > | |
| return_type_t< T_y, T_shape, T_scale > | weibull_lpdf (const T_y &y, const T_shape &alpha, const T_scale &sigma) |
| template<typename T_shape , typename T_scale , class RNG > | |
| VectorBuilder< true, double, T_shape, T_scale >::type | weibull_rng (const T_shape &alpha, const T_scale &sigma, RNG &rng) |
| Return a Weibull random variate for the given shape and scale parameters using the specified random number generator. More... | |
| template<bool propto, typename T_y , typename T_alpha , typename T_tau , typename T_beta , typename T_delta > | |
| return_type_t< T_y, T_alpha, T_tau, T_beta, T_delta > | wiener_log (const T_y &y, const T_alpha &alpha, const T_tau &tau, const T_beta &beta, const T_delta &delta) |
| The log of the first passage time density function for a (Wiener) drift diffusion model for the given \(y\), boundary separation \(\alpha\), nondecision time \(\tau\), relative bias \(\beta\), and drift rate \(\delta\). More... | |
| template<typename T_y , typename T_alpha , typename T_tau , typename T_beta , typename T_delta > | |
| return_type_t< T_y, T_alpha, T_tau, T_beta, T_delta > | wiener_log (const T_y &y, const T_alpha &alpha, const T_tau &tau, const T_beta &beta, const T_delta &delta) |
| template<bool propto, typename T_y , typename T_alpha , typename T_tau , typename T_beta , typename T_delta > | |
| return_type_t< T_y, T_alpha, T_tau, T_beta, T_delta > | wiener_lpdf (const T_y &y, const T_alpha &alpha, const T_tau &tau, const T_beta &beta, const T_delta &delta) |
| The log of the first passage time density function for a (Wiener) drift diffusion model for the given \(y\), boundary separation \(\alpha\), nondecision time \(\tau\), relative bias \(\beta\), and drift rate \(\delta\). More... | |
| template<typename T_y , typename T_alpha , typename T_tau , typename T_beta , typename T_delta > | |
| return_type_t< T_y, T_alpha, T_tau, T_beta, T_delta > | wiener_lpdf (const T_y &y, const T_alpha &alpha, const T_tau &tau, const T_beta &beta, const T_delta &delta) |
| template<bool propto, typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | wishart_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &W, const T_dof &nu, const Eigen::Matrix< T_scale, Eigen::Dynamic, Eigen::Dynamic > &S) |
| The log of the Wishart density for the given W, degrees of freedom, and scale matrix. More... | |
| template<typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | wishart_log (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &W, const T_dof &nu, const Eigen::Matrix< T_scale, Eigen::Dynamic, Eigen::Dynamic > &S) |
| template<bool propto, typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | wishart_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &W, const T_dof &nu, const Eigen::Matrix< T_scale, Eigen::Dynamic, Eigen::Dynamic > &S) |
| The log of the Wishart density for the given W, degrees of freedom, and scale matrix. More... | |
| template<typename T_y , typename T_dof , typename T_scale > | |
| return_type_t< T_y, T_dof, T_scale > | wishart_lpdf (const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &W, const T_dof &nu, const Eigen::Matrix< T_scale, Eigen::Dynamic, Eigen::Dynamic > &S) |
| template<class RNG > | |
| Eigen::MatrixXd | wishart_rng (double nu, const Eigen::MatrixXd &S, RNG &rng) |
| template<int R, int C> | |
| vari ** | build_vari_array (const Eigen::Matrix< var, R, C > &x) |
| Allocates and populates a flat array of vari pointers in the autodiff arena with the varis pointed to by the vars in the input Eigen matrix. More... | |
| static bool | empty_nested () |
| Return true if there is no nested autodiff being executed. More... | |
| static void | grad (vari *vi) |
| Compute the gradient for all variables starting from the specified root variable implementation. More... | |
| static size_t | nested_size () |
| var | operator+ (var a, var b) |
| Addition operator for variables (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| var | operator+ (var a, Arith b) |
| Addition operator for variable and scalar (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| var | operator+ (Arith a, var b) |
| Addition operator for scalar and variable (C++). More... | |
| var | operator/ (var dividend, var divisor) |
| Division operator for two variables (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| var | operator/ (var dividend, Arith divisor) |
| Division operator for dividing a variable by a scalar (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| var | operator/ (Arith dividend, var divisor) |
| Division operator for dividing a scalar by a variable (C++). More... | |
| bool | operator== (var a, var b) |
| Equality operator comparing two variables' values (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator== (var a, Arith b) |
| Equality operator comparing a variable's value and a double (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator== (Arith a, var b) |
| Equality operator comparing a scalar and a variable's value (C++). More... | |
| bool | operator> (var a, var b) |
| Greater than operator comparing variables' values (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator> (var a, Arith b) |
| Greater than operator comparing variable's value and double (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator> (Arith a, var b) |
| Greater than operator comparing a double and a variable's value (C++). More... | |
| bool | operator>= (var a, var b) |
| Greater than or equal operator comparing two variables' values (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator>= (var a, Arith b) |
| Greater than or equal operator comparing variable's value and double (C++). More... | |
| template<typename Arith , typename Var , require_arithmetic_t< Arith > ...> | |
| bool | operator>= (Arith a, var b) |
| Greater than or equal operator comparing double and variable's value (C++). More... | |
| bool | operator< (var a, var b) |
| Less than operator comparing variables' values (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator< (var a, Arith b) |
| Less than operator comparing variable's value and a double (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator< (Arith a, var b) |
| Less than operator comparing a double and variable's value (C++). More... | |
| bool | operator<= (var a, var b) |
| Less than or equal operator comparing two variables' values (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator<= (var a, Arith b) |
| Less than or equal operator comparing a variable's value and a scalar (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator<= (Arith a, var b) |
| Less than or equal operator comparing a double and variable's value (C++). More... | |
| bool | operator && (var x, var y) |
Return the logical conjunction of the values of the two arguments as defined by &&. More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator && (var x, Arith y) |
Return the logical conjunction of the values of the two arguments as defined by &&. More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator && (Arith x, var y) |
Return the logical conjunction of the values of the two arguments as defined by &&. More... | |
| bool | operator|| (var x, var y) |
Return the logical disjunction of the values of the two arguments as defined by ||. More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator|| (var x, Arith y) |
Return the logical disjunction of the values of the two arguments as defined by ||. More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator|| (Arith x, var y) |
Return the logical disjunction of the values of the two arguments as defined by ||. More... | |
| var | operator* (var a, var b) |
| Multiplication operator for two variables (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| var | operator* (var a, Arith b) |
| Multiplication operator for a variable and a scalar (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| var | operator* (Arith a, var b) |
| Multiplication operator for a scalar and a variable (C++). More... | |
| bool | operator!= (var a, var b) |
| Inequality operator comparing two variables' values (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator!= (var a, Arith b) |
| Inequality operator comparing a variable's value and a double (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| bool | operator!= (Arith a, var b) |
| Inequality operator comparing a double and a variable's value (C++). More... | |
| var | operator- (var a, var b) |
| Subtraction operator for variables (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| var | operator- (var a, Arith b) |
| Subtraction operator for variable and scalar (C++). More... | |
| template<typename Arith , require_arithmetic_t< Arith > ...> | |
| var | operator- (Arith a, var b) |
| Subtraction operator for scalar and variable (C++). More... | |
| var & | operator-- (var &a) |
| Prefix decrement operator for variables (C++). More... | |
| var | operator-- (var &a, int) |
| Postfix decrement operator for variables (C++). More... | |
| var & | operator++ (var &a) |
| Prefix increment operator for variables (C++). More... | |
| var | operator++ (var &a, int) |
| Postfix increment operator for variables (C++). More... | |
| var | operator- (var a) |
| Unary negation operator for variables (C++). More... | |
| bool | operator! (var x) |
Return the negation of the value of the argument as defined by !. More... | |
| var | operator+ (var a) |
| Unary plus operator for variables (C++). More... | |
| template<typename Arith , typename VecVar , typename VecArith , require_arithmetic_t< Arith > ..., require_vector_like_vt< is_var, VecVar > ..., require_vector_like_vt< std::is_arithmetic, VecArith > ...> | |
| var | precomputed_gradients (Arith value, VecVar &&operands, VecArith &&gradients) |
| This function returns a var for an expression that has the specified value, vector of operands, and vector of partial derivatives of value with respect to the operands. More... | |
| void | print_stack (std::ostream &o) |
| Prints the autodiff variable stack. More... | |
| static void | recover_memory () |
| Recover memory used for all variables for reuse. More... | |
| static void | recover_memory_nested () |
| Recover only the memory used for the top nested call. More... | |
| static void | set_zero_all_adjoints () |
| Reset all adjoint values in the stack to zero. More... | |
| static void | set_zero_all_adjoints_nested () |
| Reset all adjoint values in the top nested portion of the stack to zero. More... | |
| static void | start_nested () |
Record the current position so that recover_memory_nested() can find it. More... | |
| static void | grad (vari *vi) |
| var | abs (const var &a) |
| Return the absolute value of the variable (std). More... | |
| var | acos (const var &a) |
| Return the principal value of the arc cosine of a variable, in radians (cmath). More... | |
| var | acosh (const var &a) |
| The inverse hyperbolic cosine function for variables (C99). More... | |
| int | as_bool (const var &v) |
| Return 1 if the argument is unequal to zero and 0 otherwise. More... | |
| var | asin (const var &a) |
| Return the principal value of the arc sine, in radians, of the specified variable (cmath). More... | |
| var | asinh (const var &a) |
| The inverse hyperbolic sine function for variables (C99). More... | |
| var | atan (const var &a) |
| Return the principal value of the arc tangent, in radians, of the specified variable (cmath). More... | |
| var | atan2 (const var &a, const var &b) |
| Return the principal value of the arc tangent, in radians, of the first variable divided by the second (cmath). More... | |
| var | atan2 (const var &a, double b) |
| Return the principal value of the arc tangent, in radians, of the first variable divided by the second scalar (cmath). More... | |
| var | atan2 (double a, const var &b) |
| Return the principal value of the arc tangent, in radians, of the first scalar divided by the second variable (cmath). More... | |
| var | atanh (const var &a) |
| The inverse hyperbolic tangent function for variables (C99). More... | |
| var | bessel_first_kind (int v, const var &a) |
| var | bessel_second_kind (int v, const var &a) |
| var | beta (const var &a, const var &b) |
| var | beta (const var &a, double b) |
| var | beta (double a, const var &b) |
| var | binary_log_loss (int y, const var &y_hat) |
| The log loss function for variables (stan). More... | |
| double | calculate_chain (double x, double val) |
| var | cbrt (const var &a) |
| Returns the cube root of the specified variable (C99). More... | |
| var | ceil (const var &a) |
| Return the ceiling of the specified variable (cmath). More... | |
| Eigen::Matrix< var, -1, -1 > | cholesky_decompose (const Eigen::Matrix< var, -1, -1 > &A) |
| Reverse mode specialization of Cholesky decomposition. More... | |
| template<typename T1 , int R1, int C1, typename T2 , int R2, int C2, typename = require_any_var_t<T1, T2>> | |
| Eigen::Matrix< return_type_t< T1, T2 >, 1, C1 > | columns_dot_product (const Eigen::Matrix< T1, R1, C1 > &v1, const Eigen::Matrix< T2, R2, C2 > &v2) |
| template<int R, int C> | |
| Eigen::Matrix< var, 1, C > | columns_dot_self (const Eigen::Matrix< var, R, C > &x) |
| Returns the dot product of each column of a matrix with itself. More... | |
| var | cos (const var &a) |
| Return the cosine of a radian-scaled variable (cmath). More... | |
| var | cosh (const var &a) |
| Return the hyperbolic cosine of the specified variable (cmath). More... | |
| template<typename T_x , typename = require_arithmetic_t<typename scalar_type<T_x>::type>> | |
| Eigen::Matrix< var, -1, -1 > | cov_exp_quad (const std::vector< T_x > &x, const var &sigma, const var &l) |
| template<typename T_x , typename = require_arithmetic_t<typename scalar_type<T_x>::type>> | |
| Eigen::Matrix< var, -1, -1 > | cov_exp_quad (const std::vector< T_x > &x, double sigma, const var &l) |
| matrix_v | crossprod (const matrix_v &M) |
| Returns the result of pre-multiplying a matrix by its own transpose. More... | |
| template<int R, int C> | |
| var | determinant (const Eigen::Matrix< var, R, C > &m) |
| var | digamma (const var &a) |
| template<int R, int C> | |
| Eigen::Matrix< var, R, C > | divide (const Eigen::Matrix< double, R, C > &m, const var &c) |
| Return matrix divided by scalar. More... | |
| template<int R, int C> | |
| Eigen::Matrix< var, R, C > | divide (const Eigen::Matrix< var, R, C > &m, const double &c) |
| Return matrix divided by scalar. More... | |
| template<int R, int C> | |
| Eigen::Matrix< var, R, C > | divide (const Eigen::Matrix< var, R, C > &m, const var &c) |
| Return matrix divided by scalar. More... | |
| template<typename T1 , int R1, int C1, typename T2 , int R2, int C2, typename = require_any_var_t<T1, T2>> | |
| return_type_t< T1, T2 > | dot_product (const Eigen::Matrix< T1, R1, C1 > &v1, const Eigen::Matrix< T2, R2, C2 > &v2) |
| Returns the dot product. More... | |
| template<typename T1 , typename T2 , typename = require_any_var_t<T1, T2>> | |
| return_type_t< T1, T2 > | dot_product (const T1 *v1, const T2 *v2, size_t length) |
| Returns the dot product. More... | |
| template<typename T1 , typename T2 , typename = require_any_var_t<T1, T2>> | |
| return_type_t< T1, T2 > | dot_product (const std::vector< T1 > &v1, const std::vector< T2 > &v2) |
| Returns the dot product. More... | |
| template<int R, int C> | |
| var | dot_self (const Eigen::Matrix< var, R, C > &v) |
| Returns the dot product of a vector with itself. More... | |
| var | erf (const var &a) |
| The error function for variables (C99). More... | |
| var | erfc (const var &a) |
| The complementary error function for variables (C99). More... | |
| var | exp (const var &a) |
| Return the exponentiation of the specified variable (cmath). More... | |
| var | exp2 (const var &a) |
| Exponentiation base 2 function for variables (C99). More... | |
| var | expm1 (const var &a) |
| The exponentiation of the specified variable minus 1 (C99). More... | |
| var | fabs (const var &a) |
| Return the absolute value of the variable (cmath). More... | |
| var | falling_factorial (const var &a, int b) |
| var | fdim (const var &a, const var &b) |
| Return the positive difference between the first variable's the value and the second's (C99, C++11). More... | |
| var | fdim (double a, const var &b) |
| Return the positive difference between the first value and the value of the second variable (C99, C++11). More... | |
| var | fdim (const var &a, double b) |
| Return the positive difference between the first variable's value and the second value (C99, C++11). More... | |
| var | floor (const var &a) |
| Return the floor of the specified variable (cmath). More... | |
| var | fma (const var &a, const var &b, const var &c) |
| The fused multiply-add function for three variables (C99). More... | |
| template<typename Tc , typename = require_arithmetic_t<Tc>> | |
| var | fma (const var &a, const var &b, Tc &&c) |
| The fused multiply-add function for two variables and a value (C99). More... | |
| template<typename Ta , typename Tb , typename Tc , typename = require_arithmetic_t<Tb>, typename = require_all_var_t<Ta, Tc>> | |
| var | fma (Ta &&a, Tb &&b, Tc &&c) |
| The fused multiply-add function for a variable, value, and variable (C99). More... | |
| template<typename Tb , typename Tc , typename = require_all_arithmetic_t<Tb, Tc>> | |
| var | fma (const var &a, Tb &&b, Tc &&c) |
| The fused multiply-add function for a variable and two values (C99). More... | |
| template<typename Ta , typename Tc , typename = require_all_arithmetic_t<Ta, Tc>> | |
| var | fma (Ta &&a, const var &b, Tc &&c) |
| The fused multiply-add function for a value, variable, and value (C99). More... | |
| template<typename Ta , typename Tb , typename = require_all_arithmetic_t<Ta, Tb>> | |
| var | fma (Ta &&a, Tb &&b, const var &c) |
| The fused multiply-add function for two values and a variable, and value (C99). More... | |
| template<typename Ta , typename = require_arithmetic_t<Ta>> | |
| var | fma (Ta &&a, const var &b, const var &c) |
| The fused multiply-add function for a value and two variables (C99). More... | |
| var | fmax (const var &a, const var &b) |
| Returns the maximum of the two variable arguments (C99). More... | |
| var | fmax (const var &a, double b) |
| Returns the maximum of the variable and scalar, promoting the scalar to a variable if it is larger (C99). More... | |
| var | fmax (double a, const var &b) |
| Returns the maximum of a scalar and variable, promoting the scalar to a variable if it is larger (C99). More... | |
| var | fmin (const var &a, const var &b) |
| Returns the minimum of the two variable arguments (C99). More... | |
| var | fmin (const var &a, double b) |
| Returns the minimum of the variable and scalar, promoting the scalar to a variable if it is larger (C99). More... | |
| var | fmin (double a, const var &b) |
| Returns the minimum of a scalar and variable, promoting the scalar to a variable if it is larger (C99). More... | |
| var | fmod (const var &a, const var &b) |
| Return the floating point remainder after dividing the first variable by the second (cmath). More... | |
| var | fmod (const var &a, double b) |
| Return the floating point remainder after dividing the the first variable by the second scalar (cmath). More... | |
| var | fmod (double a, const var &b) |
| Return the floating point remainder after dividing the first scalar by the second variable (cmath). More... | |
| var | gamma_p (const var &a, const var &b) |
| var | gamma_p (const var &a, double b) |
| var | gamma_p (double a, const var &b) |
| var | gamma_q (const var &a, const var &b) |
| var | gamma_q (const var &a, double b) |
| var | gamma_q (double a, const var &b) |
| template<typename T_x , typename = require_arithmetic_t<typename scalar_type<T_x>::type>> | |
| Eigen::Matrix< var, -1, -1 > | gp_exp_quad_cov (const std::vector< T_x > &x, const var &sigma, const var &length_scale) |
| Returns a squared exponential kernel. More... | |
| template<typename T_x , typename = require_arithmetic_t<typename scalar_type<T_x>::type>> | |
| Eigen::Matrix< var, -1, -1 > | gp_exp_quad_cov (const std::vector< T_x > &x, double sigma, const var &length_scale) |
| Returns a squared exponential kernel. More... | |
| template<typename T_x > | |
| std::enable_if< std::is_same< typename scalar_type< T_x >::type, double >::value, Eigen::Matrix< var, Eigen::Dynamic, Eigen::Dynamic > >::type | gp_periodic_cov (const std::vector< T_x > &x, const var &sigma, const var &l, const var &p) |
| Returns a periodic covariance matrix \( \mathbf{K} \) using the input \( \mathbf{X} \). More... | |
| template<typename T_x > | |
| std::enable_if< std::is_same< typename scalar_type< T_x >::type, double >::value, Eigen::Matrix< var, Eigen::Dynamic, Eigen::Dynamic > >::type | gp_periodic_cov (const std::vector< T_x > &x, double sigma, const var &l, const var &p) |
| Returns a periodic covariance matrix \( \mathbf{K} \) using the input \( \mathbf{X} \). More... | |
| void | grad (var &v, Eigen::Matrix< var, Eigen::Dynamic, 1 > &x, Eigen::VectorXd &g) |
| Propagate chain rule to calculate gradients starting from the specified variable. More... | |
| void | grad_inc_beta (var &g1, var &g2, const var &a, const var &b, const var &z) |
| Gradient of the incomplete beta function beta(a, b, z) with respect to the first two arguments. More... | |
| var | hypot (const var &a, const var &b) |
| Returns the length of the hypotenuse of a right triangle with sides of the specified lengths (C99). More... | |
| var | hypot (const var &a, double b) |
| Returns the length of the hypotenuse of a right triangle with sides of the specified lengths (C99). More... | |
| var | hypot (double a, const var &b) |
| Returns the length of the hypotenuse of a right triangle with sides of the specified lengths (C99). More... | |
| var | if_else (bool c, const var &y_true, const var &y_false) |
| If the specified condition is true, return the first variable, otherwise return the second variable. More... | |
| var | if_else (bool c, double y_true, const var &y_false) |
| If the specified condition is true, return a new variable constructed from the first scalar, otherwise return the second variable. More... | |
| var | if_else (bool c, const var &y_true, double y_false) |
| If the specified condition is true, return the first variable, otherwise return a new variable constructed from the second scalar. More... | |
| var | inc_beta (const var &a, const var &b, const var &c) |
| void | initialize_variable (var &variable, const var &value) |
| Initialize variable to value. More... | |
| template<int R, int C> | |
| void | initialize_variable (Eigen::Matrix< var, R, C > &matrix, const var &value) |
| Initialize every cell in the matrix to the specified value. More... | |
| template<typename T > | |
| void | initialize_variable (std::vector< T > &variables, const var &value) |
| Initialize the variables in the standard vector recursively. More... | |
| var | inv (const var &a) |
\[ \mbox{inv}(x) = \begin{cases} \frac{1}{x} & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \] More... | |
| var | inv_cloglog (const var &a) |
| Return the inverse complementary log-log function applied specified variable (stan). More... | |
| var | inv_logit (const var &a) |
| The inverse logit function for variables (stan). More... | |
| var | inv_Phi (const var &p) |
| The inverse of unit normal cumulative density function. More... | |
| var | inv_sqrt (const var &a) |
\[ \mbox{inv\_sqrt}(x) = \begin{cases} \frac{1}{\sqrt{x}} & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \] More... | |
| var | inv_square (const var &a) |
\[ \mbox{inv\_square}(x) = \begin{cases} \frac{1}{x^2} & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \] More... | |
| matrix_v | inverse (const matrix_v &m) |
| Reverse mode specialization of calculating the inverse of the matrix. More... | |
| int | is_inf (const var &v) |
| Returns 1 if the input's value is infinite and 0 otherwise. More... | |
| bool | is_nan (const var &v) |
| Returns 1 if the input's value is NaN and 0 otherwise. More... | |
| bool | is_uninitialized (var x) |
Returns true if the specified variable is uninitialized. More... | |
| var | lbeta (const var &a, const var &b) |
| var | lbeta (const var &a, double b) |
| var | lbeta (double a, const var &b) |
| var | ldexp (const var &a, int b) |
| var | lgamma (const var &a) |
| The log gamma function for variables (C99). More... | |
| var | lmgamma (int a, const var &b) |
| var | log (const var &a) |
| Return the natural log of the specified variable (cmath). More... | |
| var | log10 (const var &a) |
| Return the base 10 log of the specified variable (cmath). More... | |
| var | log1m (const var &a) |
| The log (1 - x) function for variables. More... | |
| var | log1m_exp (const var &x) |
| Return the log of 1 minus the exponential of the specified variable. More... | |
| var | log1m_inv_logit (const var &u) |
| Return the natural logarithm of one minus the inverse logit of the specified argument. More... | |
| var | log1p (const var &a) |
| The log (1 + x) function for variables (C99). More... | |
| var | log1p_exp (const var &a) |
| Return the log of 1 plus the exponential of the specified variable. More... | |
| var | log2 (const var &a) |
| Returns the base 2 logarithm of the specified variable (C99). More... | |
| template<int R, int C> | |
| var | log_determinant (const Eigen::Matrix< var, R, C > &m) |
| template<int R, int C> | |
| var | log_determinant_ldlt (LDLT_factor< var, R, C > &A) |
| template<int R, int C> | |
| var | log_determinant_spd (const Eigen::Matrix< var, R, C > &m) |
| Returns the log det of a symmetric, positive-definite matrix. More... | |
| var | log_diff_exp (const var &a, const var &b) |
| Returns the log difference of the exponentiated arguments. More... | |
| var | log_diff_exp (const var &a, double b) |
| Returns the log difference of the exponentiated arguments. More... | |
| var | log_diff_exp (double a, const var &b) |
| Returns the log difference of the exponentiated arguments. More... | |
| var | log_falling_factorial (const var &a, double b) |
| var | log_falling_factorial (const var &a, const var &b) |
| var | log_falling_factorial (double a, const var &b) |
| var | log_inv_logit (const var &u) |
| Return the natural logarithm of the inverse logit of the specified argument. More... | |
| var | log_inv_logit_diff (const var &a, double b) |
| var | log_inv_logit_diff (const var &a, const var &b) |
| var | log_inv_logit_diff (double a, const var &b) |
| void | log_mix_partial_helper (double theta_val, double lambda1_val, double lambda2_val, double &one_m_exp_lam2_m_lam1, double &one_m_t_prod_exp_lam2_m_lam1, double &one_d_t_plus_one_m_t_prod_exp_lam2_m_lam1) |
| template<typename T_theta , typename T_lambda1 , typename T_lambda2 > | |
| return_type_t< T_theta, T_lambda1, T_lambda2 > | log_mix (const T_theta &theta, const T_lambda1 &lambda1, const T_lambda2 &lambda2) |
| Return the log mixture density with specified mixing proportion and log densities and its derivative at each. More... | |
| var | log_rising_factorial (const var &a, double b) |
| var | log_rising_factorial (const var &a, const var &b) |
| var | log_rising_factorial (double a, const var &b) |
| var | log_sum_exp (const var &a, const var &b) |
| Returns the log sum of exponentials. More... | |
| var | log_sum_exp (const var &a, double b) |
| Returns the log sum of exponentials. More... | |
| var | log_sum_exp (double a, const var &b) |
| Returns the log sum of exponentials. More... | |
| var | logit (const var &u) |
| Return the log odds of the specified argument. More... | |
| template<typename Ta , typename Tb , int Cb> | |
| Eigen::Matrix< return_type_t< Ta, Tb >, -1, Cb > | matrix_exp_multiply (const Eigen::Matrix< Ta, -1, -1 > &A, const Eigen::Matrix< Tb, -1, Cb > &B) |
| Wrapper of matrix_exp_action function for a more literal name. More... | |
| template<int R, int C> | |
| Eigen::Matrix< var, R, C > | matrix_power (const Eigen::Matrix< var, R, C > &M, const int n) |
| Returns the nth power of the specific matrix. More... | |
| template<int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< var, R1, C2 > | mdivide_left (const Eigen::Matrix< var, R1, C1 > &A, const Eigen::Matrix< var, R2, C2 > &b) |
| template<int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< var, R1, C2 > | mdivide_left (const Eigen::Matrix< var, R1, C1 > &A, const Eigen::Matrix< double, R2, C2 > &b) |
| template<int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< var, R1, C2 > | mdivide_left (const Eigen::Matrix< double, R1, C1 > &A, const Eigen::Matrix< var, R2, C2 > &b) |
| template<int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< var, R1, C2 > | mdivide_left_ldlt (const LDLT_factor< var, R1, C1 > &A, const Eigen::Matrix< var, R2, C2 > &b) |
| Returns the solution of the system Ax=b given an LDLT_factor of A. More... | |
| template<int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< var, R1, C2 > | mdivide_left_ldlt (const LDLT_factor< var, R1, C1 > &A, const Eigen::Matrix< double, R2, C2 > &b) |
| Returns the solution of the system Ax=b given an LDLT_factor of A. More... | |
| template<int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< var, R1, C2 > | mdivide_left_ldlt (const LDLT_factor< double, R1, C1 > &A, const Eigen::Matrix< var, R2, C2 > &b) |
| Returns the solution of the system Ax=b given an LDLT_factor of A. More... | |
| template<int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< var, R1, C2 > | mdivide_left_spd (const Eigen::Matrix< var, R1, C1 > &A, const Eigen::Matrix< var, R2, C2 > &b) |
| template<int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< var, R1, C2 > | mdivide_left_spd (const Eigen::Matrix< var, R1, C1 > &A, const Eigen::Matrix< double, R2, C2 > &b) |
| template<int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< var, R1, C2 > | mdivide_left_spd (const Eigen::Matrix< double, R1, C1 > &A, const Eigen::Matrix< var, R2, C2 > &b) |
| template<Eigen::UpLoType TriView, int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< var, R1, C2 > | mdivide_left_tri (const Eigen::Matrix< var, R1, C1 > &A, const Eigen::Matrix< var, R2, C2 > &b) |
| template<Eigen::UpLoType TriView, int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< var, R1, C2 > | mdivide_left_tri (const Eigen::Matrix< double, R1, C1 > &A, const Eigen::Matrix< var, R2, C2 > &b) |
| template<Eigen::UpLoType TriView, int R1, int C1, int R2, int C2> | |
| Eigen::Matrix< var, R1, C2 > | mdivide_left_tri (const Eigen::Matrix< var, R1, C1 > &A, const Eigen::Matrix< double, R2, C2 > &b) |
| var | modified_bessel_first_kind (int v, const var &a) |
| var | modified_bessel_second_kind (int v, const var &a) |
| template<typename T1 , typename T2 , typename = require_all_var_or_arithmetic_t<T1, T2>, typename = require_any_var_t<T1, T2>> | |
| return_type_t< T1, T2 > | multiply (const T1 &v, const T2 &c) |
| Return the product of two scalars. More... | |
| template<int R, int C> | |
| Eigen::Matrix< var, R, C > | multiply (const var &c, const Eigen::Matrix< var, R, C > &m) |
| Return the product of scalar and matrix. More... | |
| template<typename Arith , int R, int C, typename = require_arithmetic_t<Arith>> | |
| Eigen::Matrix< var, R, C > | multiply (const Arith &c, const Eigen::Matrix< var, R, C > &m) |
| Return the product of scalar and matrix. More... | |
| template<typename Arith , int R, int C, typename = require_arithmetic_t<Arith>> | |
| Eigen::Matrix< var, R, C > | multiply (const var &c, const Eigen::Matrix< Arith, R, C > &m) |
| Return the product of scalar and matrix. More... | |
| template<int R, int C> | |
| Eigen::Matrix< var, R, C > | multiply (const Eigen::Matrix< var, R, C > &m, const var &c) |
| Return the product of matrix and scalar. More... | |
| template<typename Arith , int R, int C, typename = require_arithmetic_t<Arith>> | |
| Eigen::Matrix< var, R, C > | multiply (const Eigen::Matrix< Arith, R, C > &m, const var &c) |
| Return the product of matrix and scalar. More... | |
| template<typename Arith , int R, int C, typename = require_arithmetic_t<Arith>> | |
| Eigen::Matrix< var, R, C > | multiply (const Eigen::Matrix< var, R, C > &m, const Arith &c) |
| Return the product of matrix and scalar. More... | |
| template<typename Ta , int Ra, int Ca, typename Tb , int Cb, typename = require_any_var_t<Ta, Tb>> | |
| Eigen::Matrix< var, Ra, Cb > | multiply (const Eigen::Matrix< Ta, Ra, Ca > &A, const Eigen::Matrix< Tb, Ca, Cb > &B) |
| Return the product of two matrices. More... | |
| template<typename Ta , int Ca, typename Tb , typename = require_any_var_t<Ta, Tb>> | |
| var | multiply (const Eigen::Matrix< Ta, 1, Ca > &A, const Eigen::Matrix< Tb, Ca, 1 > &B) |
| Return the scalar product of a row vector and a vector. More... | |
| var | multiply_log (const var &a, const var &b) |
| Return the value of a*log(b). More... | |
| var | multiply_log (const var &a, double b) |
| Return the value of a*log(b). More... | |
| var | multiply_log (double a, const var &b) |
| Return the value of a*log(b). More... | |
| matrix_v | multiply_lower_tri_self_transpose (const matrix_v &L) |
| Eigen::Matrix< var, Eigen::Dynamic, 1 > | ordered_constrain (const Eigen::Matrix< var, Eigen::Dynamic, 1 > &x) |
| Return an increasing ordered vector derived from the specified free vector. More... | |
| var | owens_t (const var &h, const var &a) |
| The Owen's T function of h and a. More... | |
| var | owens_t (const var &h, double a) |
| The Owen's T function of h and a. More... | |
| var | owens_t (double h, const var &a) |
| The Owen's T function of h and a. More... | |
| var | Phi (const var &a) |
| The unit normal cumulative density function for variables (stan). More... | |
| var | Phi_approx (const var &a) |
| Approximation of the unit normal CDF for variables (stan). More... | |
| Eigen::Matrix< var, Eigen::Dynamic, 1 > | positive_ordered_constrain (const Eigen::Matrix< var, Eigen::Dynamic, 1 > &x) |
| Return an increasing positive ordered vector derived from the specified free vector. More... | |
| var | pow (const var &base, const var &exponent) |
| Return the base raised to the power of the exponent (cmath). More... | |
| template<typename Var , typename Arith , require_var_t< Var > ..., require_arithmetic_t< Arith > ...> | |
| var | pow (const Var &base, Arith exponent) |
| Return the base variable raised to the power of the exponent scalar (cmath). More... | |
| template<typename Arith , typename Var , require_arithmetic_t< Arith > ..., require_var_t< Var > > | |
| var | pow (Arith base, const Var &exponent) |
| Return the base scalar raised to the power of the exponent variable (cmath). More... | |
| double | primitive_value (const var &v) |
| Return the primitive double value for the specified autodiff variable. More... | |
| template<typename Ta , int Ra, int Ca, typename Tb , int Rb, int Cb> | |
| std::enable_if< std::is_same< Ta, var >::value||std::is_same< Tb, var >::value, Eigen::Matrix< var, Cb, Cb > >::type | quad_form (const Eigen::Matrix< Ta, Ra, Ca > &A, const Eigen::Matrix< Tb, Rb, Cb > &B) |
| template<typename Ta , int Ra, int Ca, typename Tb , int Rb> | |
| std::enable_if< std::is_same< Ta, var >::value||std::is_same< Tb, var >::value, var >::type | quad_form (const Eigen::Matrix< Ta, Ra, Ca > &A, const Eigen::Matrix< Tb, Rb, 1 > &B) |
| template<typename Ta , int Ra, int Ca, typename Tb , int Rb, int Cb, require_any_var_t< Ta, Tb > ...> | |
| Eigen::Matrix< var, Cb, Cb > | quad_form_sym (const Eigen::Matrix< Ta, Ra, Ca > &A, const Eigen::Matrix< Tb, Rb, Cb > &B) |
| template<typename Ta , int Ra, int Ca, typename Tb , int Rb, require_any_var_t< Ta, Tb > ...> | |
| var | quad_form_sym (const Eigen::Matrix< Ta, Ra, Ca > &A, const Eigen::Matrix< Tb, Rb, 1 > &B) |
| var | rising_factorial (const var &a, int b) |
| var | round (const var &a) |
| Returns the rounded form of the specified variable (C99). More... | |
| template<typename T1 , int R1, int C1, typename T2 , int R2, int C2, require_any_var_t< T1, T2 > ...> | |
| Eigen::Matrix< var, R1, 1 > | rows_dot_product (const Eigen::Matrix< T1, R1, C1 > &v1, const Eigen::Matrix< T2, R2, C2 > &v2) |
| var | sd (const std::vector< var > &v) |
| Return the sample standard deviation of the specified standard vector. More... | |
| template<int R, int C> | |
| var | sd (const Eigen::Matrix< var, R, C > &m) |
| Eigen::Matrix< var, Eigen::Dynamic, 1 > | simplex_constrain (const Eigen::Matrix< var, Eigen::Dynamic, 1 > &y) |
| Return the simplex corresponding to the specified free vector. More... | |
| var | sin (const var &a) |
| Return the sine of a radian-scaled variable (cmath). More... | |
| var | sinh (const var &a) |
| Return the hyperbolic sine of the specified variable (cmath). More... | |
| Eigen::Matrix< var, Eigen::Dynamic, 1 > | softmax (const Eigen::Matrix< var, Eigen::Dynamic, 1 > &alpha) |
| Return the softmax of the specified Eigen vector. More... | |
| var | sqrt (const var &a) |
| Return the square root of the specified variable (cmath). More... | |
| var | square (const var &x) |
| Return the square of the input variable. More... | |
| var | squared_distance (const var &a, const var &b) |
| Returns the squared distance. More... | |
| var | squared_distance (const var &a, double b) |
| Returns the squared distance. More... | |
| var | squared_distance (double a, const var &b) |
| Returns the squared distance. More... | |
| template<int R1, int C1, int R2, int C2> | |
| var | squared_distance (const Eigen::Matrix< var, R1, C1 > &v1, const Eigen::Matrix< var, R2, C2 > &v2) |
| template<int R1, int C1, int R2, int C2> | |
| var | squared_distance (const Eigen::Matrix< var, R1, C1 > &v1, const Eigen::Matrix< double, R2, C2 > &v2) |
| template<int R1, int C1, int R2, int C2> | |
| var | squared_distance (const Eigen::Matrix< double, R1, C1 > &v1, const Eigen::Matrix< var, R2, C2 > &v2) |
| void | stan_print (std::ostream *o, const var &x) |
| var | step (const var &a) |
| Return the step, or heaviside, function applied to the specified variable (stan). More... | |
| var | sum (const std::vector< var > &m) |
| Returns the sum of the entries of the specified vector. More... | |
| template<int R, int C> | |
| var | sum (const Eigen::Matrix< var, R, C > &m) |
| Returns the sum of the coefficients of the specified matrix, column vector or row vector. More... | |
| var | tan (const var &a) |
| Return the tangent of a radian-scaled variable (cmath). More... | |
| var | tanh (const var &a) |
| Return the hyperbolic tangent of the specified variable (cmath). More... | |
| template<int R, int C> | |
| Eigen::Matrix< var, -1, -1 > | tcrossprod (const Eigen::Matrix< var, R, C > &M) |
| Returns the result of post-multiplying a matrix by its own transpose. More... | |
| var | tgamma (const var &a) |
| Return the Gamma function applied to the specified variable (C99). More... | |
| var | to_var (double x) |
| Converts argument to an automatic differentiation variable. More... | |
| var & | to_var (var &x) |
| Specialization of to_var for non-const var input. More... | |
| const var & | to_var (const var &x) |
| Specialization of to_var for const var input. More... | |
| std::vector< var > | to_var (const std::vector< double > &v) |
| Converts argument to an automatic differentiation variable. More... | |
| const std::vector< var > & | to_var (const std::vector< var > &v) |
| Specialization of to_var to for const input vector of var. More... | |
| std::vector< var > & | to_var (std::vector< var > &v) |
| Specialization of to_var to for non-const input vector of var. More... | |
| matrix_v | to_var (const matrix_d &m) |
| Converts argument to an automatic differentiation variable. More... | |
| matrix_v & | to_var (matrix_v &m) |
| Specialization of to_var for non-const matrices of vars. More... | |
| const matrix_v & | to_var (const matrix_v &m) |
| Specialization of to_var for const matrices of vars. More... | |
| vector_v | to_var (const vector_d &v) |
| Converts argument to an automatic differentiation variable. More... | |
| const vector_v & | to_var (const vector_v &v) |
| Specialization of to_var for const column vector of vars. More... | |
| vector_v & | to_var (vector_v &v) |
| Specialization of to_var for non-const column vector of vars. More... | |
| row_vector_v | to_var (const row_vector_d &rv) |
| Converts argument to an automatic differentiation variable. More... | |
| const row_vector_v & | to_var (const row_vector_v &rv) |
| Specialization of to_var for const row vector of vars. More... | |
| row_vector_v & | to_var (row_vector_v &rv) |
| Specialization of to_var for non-const row vector of vars. More... | |
| template<typename T1 , int R1, int C1, typename T2 , int R2, int C2, typename T3 , int R3, int C3, require_any_var_t< T1, T2, T3 > ...> | |
| var | trace_gen_inv_quad_form_ldlt (const Eigen::Matrix< T1, R1, C1 > &D, const LDLT_factor< T2, R2, C2 > &A, const Eigen::Matrix< T3, R3, C3 > &B) |
| Compute the trace of an inverse quadratic form premultiplied by a square matrix. More... | |
| template<typename Td , int Rd, int Cd, typename Ta , int Ra, int Ca, typename Tb , int Rb, int Cb, typename = require_any_var_t<Td, Ta, Tb>> | |
| var | trace_gen_quad_form (const Eigen::Matrix< Td, Rd, Cd > &D, const Eigen::Matrix< Ta, Ra, Ca > &A, const Eigen::Matrix< Tb, Rb, Cb > &B) |
| template<typename T2 , int R2, int C2, typename T3 , int R3, int C3, typename = require_any_var_t<T2, T3>> | |
| return_type_t< T2, T3 > | trace_inv_quad_form_ldlt (const LDLT_factor< T2, R2, C2 > &A, const Eigen::Matrix< T3, R3, C3 > &B) |
| Compute the trace of an inverse quadratic form. More... | |
| template<typename Ta , int Ra, int Ca, typename Tb , int Rb, int Cb, typename = require_any_var_t<Ta, Tb>> | |
| return_type_t< Ta, Tb > | trace_quad_form (const Eigen::Matrix< Ta, Ra, Ca > &A, const Eigen::Matrix< Tb, Rb, Cb > &B) |
| var | trigamma (const var &u) |
| Return the value of the trigamma function at the specified argument (i.e., the second derivative of the log Gamma function at the specified argument). More... | |
| var | trunc (const var &a) |
| Returns the truncatation of the specified variable (C99). More... | |
| template<int R, int C> | |
| Eigen::Matrix< var, R, C > | unit_vector_constrain (const Eigen::Matrix< var, R, C > &y) |
| Return the unit length vector corresponding to the free vector y. More... | |
| template<int R, int C> | |
| Eigen::Matrix< var, R, C > | unit_vector_constrain (const Eigen::Matrix< var, R, C > &y, var &lp) |
| Return the unit length vector corresponding to the free vector y. More... | |
| double | value_of (const var &v) |
| Return the value of the specified variable. More... | |
| double | value_of_rec (const var &v) |
| Return the value of the specified variable. More... | |
| var | variance (const std::vector< var > &v) |
| Return the sample variance of the specified standard vector. More... | |
| template<int R, int C> | |
| var | variance (const Eigen::Matrix< var, R, C > &m) |
| template<typename F , typename... Targs> | |
| auto | adj_jac_apply (const Targs &... args) |
| Return the result of applying the function defined by a nullary construction of F to the specified input argument. More... | |
| template<typename F , typename T1 , typename T2 , typename T_u , typename T_f > | |
| Eigen::Matrix< T2, -1, 1 > | algebra_solver_fp (const F &f, const Eigen::Matrix< T1, -1, 1 > &x, const Eigen::Matrix< T2, -1, 1 > &y, const std::vector< double > &x_r, const std::vector< int > &x_i, const std::vector< T_u > &u_scale, const std::vector< T_f > &f_scale, std::ostream *msgs=nullptr, double f_tol=1e-8, int max_num_steps=200) |
| Return a fixed pointer to the specified system of algebraic equations of form. More... | |
| template<typename F , typename T > | |
| Eigen::VectorXd | algebra_solver_newton (const F &f, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, const Eigen::VectorXd &y, const std::vector< double > &dat, const std::vector< int > &dat_int, std::ostream *msgs=nullptr, double scaling_step_size=1e-3, double function_tolerance=1e-6, long int max_num_steps=200) |
| Return the solution to the specified system of algebraic equations given an initial guess, and parameters and data, which get passed into the algebraic system. More... | |
| template<typename F , typename T1 , typename T2 > | |
| Eigen::Matrix< T2, Eigen::Dynamic, 1 > | algebra_solver_newton (const F &f, const Eigen::Matrix< T1, Eigen::Dynamic, 1 > &x, const Eigen::Matrix< T2, Eigen::Dynamic, 1 > &y, const std::vector< double > &dat, const std::vector< int > &dat_int, std::ostream *msgs=nullptr, double scaling_step_size=1e-3, double function_tolerance=1e-6, long int max_num_steps=200) |
| Return the solution to the specified system of algebraic equations given an initial guess, and parameters and data, which get passed into the algebraic system. More... | |
| template<typename F , typename T > | |
| Eigen::VectorXd | algebra_solver_powell (const F &f, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &x, const Eigen::VectorXd &y, const std::vector< double > &dat, const std::vector< int > &dat_int, std::ostream *msgs=nullptr, double relative_tolerance=1e-10, double function_tolerance=1e-6, long int max_num_steps=1e+3) |
| Return the solution to the specified system of algebraic equations given an initial guess, and parameters and data, which get passed into the algebraic system. More... | |
| template<typename F , typename T1 , typename T2 > | |
| Eigen::Matrix< T2, Eigen::Dynamic, 1 > | algebra_solver_powell (const F &f, const Eigen::Matrix< T1, Eigen::Dynamic, 1 > &x, const Eigen::Matrix< T2, Eigen::Dynamic, 1 > &y, const std::vector< double > &dat, const std::vector< int > &dat_int, std::ostream *msgs=nullptr, double relative_tolerance=1e-10, double function_tolerance=1e-6, long int max_num_steps=1e+3) |
| Return the solution to the specified system of algebraic equations given an initial guess, and parameters and data, which get passed into the algebraic system. More... | |
| template<typename F , typename T1 , typename T2 > | |
| Eigen::Matrix< T2, Eigen::Dynamic, 1 > | algebra_solver (const F &f, const Eigen::Matrix< T1, Eigen::Dynamic, 1 > &x, const Eigen::Matrix< T2, Eigen::Dynamic, 1 > &y, const std::vector< double > &dat, const std::vector< int > &dat_int, std::ostream *msgs=nullptr, double relative_tolerance=1e-10, double function_tolerance=1e-6, long int max_num_steps=1e+3) |
| Return the solution to the specified system of algebraic equations given an initial guess, and parameters and data, which get passed into the algebraic system. More... | |
| template<typename T1 , typename T2 > | |
| void | algebra_solver_check (const Eigen::Matrix< T1, Eigen::Dynamic, 1 > &x, const Eigen::Matrix< T2, Eigen::Dynamic, 1 > y, const std::vector< double > &dat, const std::vector< int > &dat_int, double function_tolerance, long int max_num_steps) |
| void | cvodes_silent_err_handler (int error_code, const char *module, const char *function, char *msg, void *eh_data) |
| void | cvodes_set_options (void *cvodes_mem, double rel_tol, double abs_tol, long int max_num_steps) |
| template<typename F > | |
| void | gradient (const F &f, const Eigen::Matrix< double, Eigen::Dynamic, 1 > &x, double &fx, Eigen::Matrix< double, Eigen::Dynamic, 1 > &grad_fx) |
| Calculate the value and the gradient of the specified function at the specified argument. More... | |
| template<typename F > | |
| double | gradient_of_f (const F &f, const double &x, const double &xc, const std::vector< double > &theta_vals, const std::vector< double > &x_r, const std::vector< int > &x_i, size_t n, std::ostream *msgs) |
| Calculate first derivative of f(x, param, std::ostream&) with respect to the nth parameter. More... | |
| template<typename F , typename T_a , typename T_b , typename T_theta , typename = require_any_var_t<T_a, T_b, T_theta>> | |
| return_type_t< T_a, T_b, T_theta > | integrate_1d (const F &f, const T_a &a, const T_b &b, const std::vector< T_theta > &theta, const std::vector< double > &x_r, const std::vector< int > &x_i, std::ostream *msgs, const double relative_tolerance=std::sqrt(EPSILON)) |
| Compute the integral of the single variable function f from a to b to within a specified relative tolerance. More... | |
| template<typename F , typename Tpar > | |
| std::vector< std::vector< Tpar > > | integrate_dae (const F &f, const std::vector< double > &yy0, const std::vector< double > &yp0, double t0, const std::vector< double > &ts, const std::vector< Tpar > &theta, const std::vector< double > &x_r, const std::vector< int > &x_i, const double rtol, const double atol, const int64_t max_num_steps=idas_integrator::IDAS_MAX_STEPS, std::ostream *msgs=nullptr) |
| Return the solutions for a semi-explicit DAE system with residual specified by functor F, given the specified consistent initial state yy0 and yp0. More... | |
| template<typename F , typename T_initial , typename T_param , typename T_t0 , typename T_ts > | |
| std::vector< std::vector< return_type_t< T_initial, T_param, T_t0, T_ts > > > | integrate_ode_adams (const F &f, const std::vector< T_initial > &y0, const T_t0 &t0, const std::vector< T_ts > &ts, const std::vector< T_param > &theta, const std::vector< double > &x, const std::vector< int > &x_int, std::ostream *msgs=nullptr, double relative_tolerance=1e-10, double absolute_tolerance=1e-10, long int max_num_steps=1e8) |
| template<typename F , typename T_initial , typename T_param , typename T_t0 , typename T_ts > | |
| std::vector< std::vector< return_type_t< T_initial, T_param, T_t0, T_ts > > > | integrate_ode_bdf (const F &f, const std::vector< T_initial > &y0, const T_t0 &t0, const std::vector< T_ts > &ts, const std::vector< T_param > &theta, const std::vector< double > &x, const std::vector< int > &x_int, std::ostream *msgs=nullptr, double relative_tolerance=1e-10, double absolute_tolerance=1e-10, long int max_num_steps=1e8) |
| template<typename F > | |
| void | jacobian (const F &f, const Eigen::Matrix< double, Eigen::Dynamic, 1 > &x, Eigen::Matrix< double, Eigen::Dynamic, 1 > &fx, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > &J) |
| template<typename F1 , typename F2 = kinsol_J_f> | |
| Eigen::VectorXd | kinsol_solve (const F1 &f, const Eigen::VectorXd &x, const Eigen::VectorXd &y, const std::vector< double > &dat, const std::vector< int > &dat_int, std::ostream *msgs=nullptr, double scaling_step_tol=1e-3, double function_tolerance=1e-6, long int max_num_steps=200, bool custom_jacobian=1, const F2 &J_f=kinsol_J_f(), int steps_eval_jacobian=10, int global_line_search=KIN_LINESEARCH) |
| Return the solution to the specified algebraic system, given an initial guess. More... | |
Variables | |
| static opencl_context | opencl_context |
| const double | CONSTRAINT_TOLERANCE = 1E-8 |
| The tolerance for checking arithmetic bounds in rank and in simplexes. More... | |
| const double | EPSILON = std::numeric_limits<double>::epsilon() |
| Smallest positive value. More... | |
| const double | INFTY = std::numeric_limits<double>::infinity() |
| Positive infinity. More... | |
| const double | NEGATIVE_INFTY = -INFTY |
| Negative infinity. More... | |
| const double | NOT_A_NUMBER = std::numeric_limits<double>::quiet_NaN() |
| (Quiet) not-a-number value. More... | |
| const double | TWO_PI = 2.0 * pi() |
| Twice the value of \( \pi \), \( 2\pi \). More... | |
| const double | LOG_ZERO = std::log(0.0) |
| The natural logarithm of 0, \( \log 0 \). More... | |
| const double | LOG_EPSILON = std::log(EPSILON) |
| The natural logarithm of machine precision \( \epsilon \), \( \log \epsilon \). More... | |
| const double | LOG_PI = std::log(pi()) |
| The natural logarithm of \( \pi \), \( \log \pi \). More... | |
| const double | LOG_HALF = std::log(0.5) |
| The natural logarithm of 0.5, \( \log 0.5 \). More... | |
| const double | LOG_TWO = std::log(2.0) |
| The natural logarithm of 2, \( \log 2 \). More... | |
| const double | LOG_TWO_PI = LOG_TWO + LOG_PI |
| The natural logarithm of 2 plus the natural logarithm of \( \pi \), \( \log(2\pi) \). More... | |
| const double | LOG_PI_OVER_FOUR = 0.25 * LOG_PI |
| The value of one quarter the natural logarithm of \( \pi \), \( \log(\pi) / 4 \). More... | |
| const double | LOG_SQRT_PI = std::log(std::sqrt(pi())) |
| The natural logarithm of the square root of \( \pi \), \( \log(sqrt{\pi}) \). More... | |
| const double | LOG_TEN = std::log(10.0) |
| The natural logarithm of 10, \( \log 10 \). More... | |
| const double | SQRT_TWO = std::sqrt(2.0) |
| The value of the square root of 2, \( \sqrt{2} \). More... | |
| const double | SQRT_PI = std::sqrt(pi()) |
| The value of the square root of \( \pi \), \( \sqrt{\pi} \). More... | |
| const double | SQRT_TWO_PI = std::sqrt(TWO_PI) |
| The value of the square root of \( 2\pi \), \( \sqrt{2\pi} \). More... | |
| const double | SQRT_TWO_OVER_SQRT_PI = SQRT_TWO / SQRT_PI |
| The square root of 2 divided by the square root of \( \pi \), \( \sqrt{2} / \sqrt{\pi} \). More... | |
| const double | INV_SQRT_TWO = inv(SQRT_TWO) |
| The value of 1 over the square root of 2, \( 1 / \sqrt{2} \). More... | |
| const double | INV_SQRT_PI = inv(SQRT_PI) |
| The value of 1 over the square root of \( \pi \), \( 1 / \sqrt{\pi} \). More... | |
| const double | INV_SQRT_TWO_PI = inv(SQRT_TWO_PI) |
| The value of 1 over the square root of \( 2\pi \), \( 1 / \sqrt{2\pi} \). More... | |
| const double | TWO_OVER_SQRT_PI = 2.0 / SQRT_PI |
| The value of 2 over the square root of \( \pi \), \( 2 / \sqrt{\pi} \). More... | |
| const double | HALF_LOG_TWO = 0.5 * LOG_TWO |
| The value of half the natural logarithm 2, \( \log(2) / 2 \). More... | |
| const double | HALF_LOG_TWO_PI = 0.5 * LOG_TWO_PI |
| The value of half the natural logarithm \( 2\pi \), \( \log(2\pi) / 2 \). More... | |
| const double | NEG_LOG_SQRT_TWO_PI = -std::log(SQRT_TWO_PI) |
| The value of minus the natural logarithm of the square root of \( 2\pi \), \( -\log(\sqrt{2\pi}) \). More... | |
| const double | POISSON_MAX_RATE = std::pow(2.0, 30) |
| Largest rate parameter allowed in Poisson RNG. More... | |
| constexpr double | lgamma_stirling_diff_useful = 10 |
| const std::string | MAJOR_VERSION = STAN_STRING(STAN_MATH_MAJOR) |
| Major version number for Stan math library. More... | |
| const std::string | MINOR_VERSION = STAN_STRING(STAN_MATH_MINOR) |
| Minor version number for Stan math library. More... | |
| const std::string | PATCH_VERSION = STAN_STRING(STAN_MATH_PATCH) |
| Patch version for Stan math library. More... | |
| using stan::math::as_operation_cl_t = typedef std::conditional_t< std::is_lvalue_reference<T>::value, decltype(as_operation_cl(std::declval<T>())), std::remove_reference_t<decltype(as_operation_cl(std::declval<T>()))>> |
Type that results when converting any valid kernel generator expression into operation.
If a function accepts a forwarding reference T&& a, the result of as_operation_cl(a) should be stored in a variable of type as_operation_cl_t<T>. If the return value of as_operation_cl() would be a rvalue reference, the reference is removed, so that a variable of this type actually stores the value.
Definition at line 66 of file as_operation_cl.hpp.
| using stan::math::boost_policy_t = typedef boost::math::policies::policy< boost::math::policies::overflow_error< boost::math::policies::errno_on_error>, boost::math::policies::pole_error<boost::math::policies::errno_on_error>, boost::math::policies::promote_double<false> > |
Boost policy that overrides the defaults to match the built-in C++ standard library functions.
The non-default behavior from Boost's built-ins are (1) overflow errors return error numbers on error. (2) pole errors return error numbers on error.
Definition at line 23 of file boost_policy.hpp.
| using stan::math::ChainableStack = typedef AutodiffStackSingleton<vari, chainable_alloc> |
Definition at line 12 of file chainablestack.hpp.
| typedef stan::math::index_type_t< Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic >> stan::math::size_type |
Type for sizes and indexes in an Eigen matrix with double elements.
Definition at line 37 of file index_type.hpp.
| using stan::math::matrix_cl_fp = typedef matrix_cl<T, require_floating_point_t<T>> |
Definition at line 604 of file matrix_cl.hpp.
| using stan::math::matrix_cl_prim = typedef matrix_cl<T, require_arithmetic_t<T>> |
Definition at line 601 of file matrix_cl.hpp.
| using stan::math::matrix_d = typedef Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> |
Type for matrix of double values.
Definition at line 19 of file typedefs.hpp.
| using stan::math::matrix_fd = typedef Eigen::Matrix<fvar<double>, Eigen::Dynamic, Eigen::Dynamic> |
Definition at line 13 of file typedefs.hpp.
| using stan::math::matrix_ffd = typedef Eigen::Matrix<fvar<fvar<double> >, Eigen::Dynamic, Eigen::Dynamic> |
Definition at line 16 of file typedefs.hpp.
| using stan::math::matrix_ffv = typedef Eigen::Matrix<fvar<fvar<var>>, Eigen::Dynamic, Eigen::Dynamic> |
Definition at line 15 of file typedefs.hpp.
| using stan::math::matrix_fv = typedef Eigen::Matrix<fvar<var>, Eigen::Dynamic, Eigen::Dynamic> |
Definition at line 12 of file typedefs.hpp.
| using stan::math::matrix_v = typedef Eigen::Matrix<var, Eigen::Dynamic, Eigen::Dynamic> |
The type of a matrix holding var values.
Definition at line 17 of file typedefs.hpp.
| using stan::math::matrix_vi = typedef Eigen::Matrix<vari*, Eigen::Dynamic, Eigen::Dynamic> |
The type of a matrix holding vari* values.
Definition at line 35 of file typedefs.hpp.
| using stan::math::promote_scalar_t = typedef typename promote_scalar_type<T, S>::type |
Definition at line 65 of file promote_scalar_type.hpp.
| using stan::math::require_all_valid_expressions_and_none_scalar_t = typedef require_all_t<is_valid_expression_and_not_scalar<Types>...> |
Enables a template if all given types are non-scalar types that are a valid kernel generator expressions.
Definition at line 48 of file is_valid_expression.hpp.
| using stan::math::require_all_valid_expressions_t = typedef require_all_t<is_valid_expression<Types>...> |
Enables a template if all given types are are a valid kernel generator expressions.
Definition at line 56 of file is_valid_expression.hpp.
| using stan::math::row_vector_d = typedef Eigen::Matrix<double, 1, Eigen::Dynamic> |
Type for (row) vector of double values.
Definition at line 29 of file typedefs.hpp.
| using stan::math::row_vector_fd = typedef Eigen::Matrix<fvar<double>, 1, Eigen::Dynamic> |
Definition at line 22 of file typedefs.hpp.
| using stan::math::row_vector_ffd = typedef Eigen::Matrix<fvar<fvar<double> >, 1, Eigen::Dynamic> |
Definition at line 24 of file typedefs.hpp.
| using stan::math::row_vector_ffv = typedef Eigen::Matrix<fvar<fvar<var>>, 1, Eigen::Dynamic> |
Definition at line 23 of file typedefs.hpp.
| using stan::math::row_vector_fv = typedef Eigen::Matrix<fvar<var>, 1, Eigen::Dynamic> |
Definition at line 21 of file typedefs.hpp.
| using stan::math::row_vector_v = typedef Eigen::Matrix<var, 1, Eigen::Dynamic> |
The type of a row vector holding var values.
Definition at line 29 of file typedefs.hpp.
| using stan::math::row_vector_vi = typedef Eigen::Matrix<vari*, 1, Eigen::Dynamic> |
The type of a row vector holding vari* values.
Definition at line 47 of file typedefs.hpp.
| typedef Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic >::Index stan::math::size_type |
Type for sizes and indexes in an Eigen matrix with double elements.
Definition at line 11 of file typedefs.hpp.
| using stan::math::vector_d = typedef Eigen::Matrix<double, Eigen::Dynamic, 1> |
Type for (column) vector of double values.
Definition at line 24 of file typedefs.hpp.
| using stan::math::vector_fd = typedef Eigen::Matrix<fvar<double>, Eigen::Dynamic, 1> |
Definition at line 18 of file typedefs.hpp.
| using stan::math::vector_ffd = typedef Eigen::Matrix<fvar<fvar<double> >, Eigen::Dynamic, 1> |
Definition at line 20 of file typedefs.hpp.
| using stan::math::vector_ffv = typedef Eigen::Matrix<fvar<fvar<var>>, Eigen::Dynamic, 1> |
Definition at line 19 of file typedefs.hpp.
| using stan::math::vector_fv = typedef Eigen::Matrix<fvar<var>, Eigen::Dynamic, 1> |
Definition at line 17 of file typedefs.hpp.
| using stan::math::vector_v = typedef Eigen::Matrix<var, Eigen::Dynamic, 1> |
The type of a (column) vector holding var values.
Definition at line 23 of file typedefs.hpp.
| using stan::math::vector_vi = typedef Eigen::Matrix<vari*, Eigen::Dynamic, 1> |
The type of a (column) vector holding vari* values.
Definition at line 41 of file typedefs.hpp.
|
strong |
| Enumerator | |
|---|---|
| Diagonal | |
| Lower | |
| Upper | |
| Entire | |
Definition at line 11 of file matrix_cl_view.hpp.
|
strong |
| Enumerator | |
|---|---|
| UpperToLower | |
| LowerToUpper | |
Definition at line 96 of file matrix_cl_view.hpp.
|
inline |
Return the absolute value of the variable (std).
Delegates to fabs() (see for doc).
\[ \mbox{abs}(x) = \begin{cases} |x| & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{abs}(x)}{\partial x} = \begin{cases} -1 & \mbox{if } x < 0 \\ 0 & \mbox{if } x = 0 \\ 1 & \mbox{if } x > 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Variable input. |
|
inline |
|
inline |
Return the principal value of the arc cosine of a variable, in radians (cmath).
The derivative is defined by
\(\frac{d}{dx} \arccos x = \frac{-1}{\sqrt{1 - x^2}}\).
\[ \mbox{acos}(x) = \begin{cases} \textrm{NaN} & \mbox{if } x < -1\\ \arccos(x) & \mbox{if } -1\leq x\leq 1 \\ \textrm{NaN} & \mbox{if } x > 1\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{acos}(x)}{\partial x} = \begin{cases} \textrm{NaN} & \mbox{if } x < -1\\ \frac{\partial\, \arccos(x)}{\partial x} & \mbox{if } -1\leq x\leq 1 \\ \textrm{NaN} & \mbox{if } x < -1\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial \, \arccos(x)}{\partial x} = -\frac{1}{\sqrt{1-x^2}} \]
| a | Variable in range [-1, 1]. |
|
inline |
|
inline |
The inverse hyperbolic cosine function for variables (C99).
For non-variable function, see acosh().
The derivative is defined by
\(\frac{d}{dx} \mbox{acosh}(x) = \frac{x}{x^2 - 1}\).
\[ \mbox{acosh}(x) = \begin{cases} \textrm{NaN} & \mbox{if } x < 1 \\ \cosh^{-1}(x) & \mbox{if } x \geq 1 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{acosh}(x)}{\partial x} = \begin{cases} \textrm{NaN} & \mbox{if } x < 1 \\ \frac{\partial\, \cosh^{-1}(x)}{\partial x} & \mbox{if } x \geq 1 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \cosh^{-1}(x)=\ln\left(x+\sqrt{x^2-1}\right) \]
\[ \frac{\partial \, \cosh^{-1}(x)}{\partial x} = \frac{1}{\sqrt{x^2-1}} \]
| a | The variable. |
|
inline |
Return the elementwise application of acosh() to specified argument container.
The return type promotes the underlying scalar argument type to double if it is an integer, and otherwise is the argument type.
| T | type of container |
| x | container |
|
inline |
Return the sum of the specified matrices.
The two matrices must have the same dimensions.
| T1 | type of elements in the first matrix |
| T2 | type of elements in the second matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m1 | First matrix. |
| m2 | Second matrix. |
| std::invalid_argument | if m1 and m2 do not have the same dimensions. |
|
inline |
Return the sum of the specified matrix and specified scalar.
| T1 | type of elements in the matrix |
| T2 | type of scalar |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | Matrix. |
| c | Scalar. |
|
inline |
Return the sum of the specified scalar and specified matrix.
| T1 | type of scalar |
| T2 | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| c | Scalar. |
| m | Matrix. |
| stan::math::ADD_BINARY_OPERATION | ( | addition_ | , |
| operator+ | , | ||
| common_scalar_t< T_a COMMA T_b > | , | ||
| "+" | |||
| ) |
| stan::math::ADD_BINARY_OPERATION | ( | subtraction_ | , |
| operator- | , | ||
| common_scalar_t< T_a COMMA T_b > | , | ||
| "-" | |||
| ) |
| stan::math::ADD_BINARY_OPERATION | ( | less_than_ | ) |
| stan::math::ADD_BINARY_OPERATION | ( | greater_than_ | , |
| operator | , | ||
| bool | , | ||
| " | , | ||
| " | |||
| ) |
| stan::math::ADD_BINARY_OPERATION | ( | not_equals_ | , |
| operator! | , | ||
| bool | |||
| ) |
| stan::math::ADD_BINARY_OPERATION | ( | logical_or_ | , |
| operator|| | , | ||
| bool | , | ||
| "||" | |||
| ) |
| stan::math::ADD_BINARY_OPERATION | ( | logical_and_ | , |
| operator&& | , | ||
| bool | , | ||
| "&&" | |||
| ) |
| stan::math::ADD_BINARY_OPERATION_WITH_CUSTOM_VIEW | ( | elewise_multiplication_ | , |
| elewise_multiplication | , | ||
| common_scalar_t< T_a COMMA T_b > | , | ||
| "*" | , | ||
| using | base = binary_operation< elewise_multiplication_< T_a, T_b >, common_scalar_t< T_a, T_b >, T_a, T_b >;return both(std::get< 0 >(base::arguments_).view(), std::get< 1 >(base::arguments_).view()); |
||
| ) |
| stan::math::ADD_BINARY_OPERATION_WITH_CUSTOM_VIEW | ( | elewise_division_ | , |
| elewise_division | , | ||
| common_scalar_t< T_a COMMA T_b > | , | ||
| "/" | , | ||
| using | base = binary_operation< elewise_division_< T_a, T_b >, common_scalar_t< T_a, T_b >, T_a, T_b >;return either(std::get< 0 >(base::arguments_).view(), invert(std::get< 1 >(base::arguments_).view())); |
||
| ) |
| stan::math::ADD_BINARY_OPERATION_WITH_CUSTOM_VIEW | ( | less_than_or_equal_ | , |
| operator<= | , | ||
| bool | , | ||
| "<=" | , | ||
| return matrix_cl_view::Entire | |||
| ) |
| stan::math::ADD_BINARY_OPERATION_WITH_CUSTOM_VIEW | ( | greater_than_or_equal_ | , |
| operator>= | , | ||
| bool | , | ||
| ">=" | , | ||
| return matrix_cl_view::Entire | |||
| ) |
| stan::math::ADD_BINARY_OPERATION_WITH_CUSTOM_VIEW | ( | equals_ | , |
| operator | = =, |
||
| bool | |||
| ) |
|
inline |
Returns a Matrix with values added along the main diagonal.
| T_m | type of element in Eigen::Matrix |
| T_a | Type of element to add along the diagonal |
| mat | a matrix |
| to_add | value to add along the diagonal |
Definition at line 25 of file add_diag.hpp.
|
inline |
Returns a Matrix with values added along the main diagonal.
| T_m | type of element in Eigen::Matrix |
| T_a | Type of element to add along the diagonal |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| mat | a matrix |
| to_add | Sequence of values to add along the diagonal |
| invalid_argument | if to_add is vector-like but does not have the same number of elements as the main diagonal of mat |
Definition at line 50 of file add_diag.hpp.
| auto stan::math::adj_jac_apply | ( | const Targs &... | args | ) |
Return the result of applying the function defined by a nullary construction of F to the specified input argument.
adj_jac_apply makes it possible to write efficient reverse-mode autodiff code without ever touching Stan's autodiff internals
Mathematically, to use a function in reverse mode autodiff, you need to be able to evaluate the function (y = f(x)) and multiply the Jacobian of that function (df(x)/dx) by a vector.
As an example, pretend there exists some large, complicated function, L(x1, x2), which contains our smaller function f(x1, x2). The goal of autodiff is to compute the partials dL/dx1 and dL/dx2. If we break the large function into pieces:
y = f(x1, x2) L = g(y)
If we were given dL/dy we could compute dL/dx1 by the product dL/dy * dy/dx1 or dL/dx2 by the product dL/dy * dy/dx2
Because y = f(x1, x2), dy/dx1 is just df(x1, x2)/dx1, the Jacobian of the function we're trying to define with x2 held fixed. A similar thing happens for dy/dx2. In vector form,
dL/dx1 = (dL/dy)' * df(x1, x2)/dx1 and dL/dx2 = (dL/dy)' * df(x1, x2)/dx2
So implementing f(x1, x2) and the products above are all that is required mathematically to implement reverse-mode autodiff for a function.
adj_jac_apply takes as a template argument a functor F that supplies the non-static member functions (leaving exact template arguments off):
(required) Eigen::VectorXd operator()(const std::array<bool, size>& needs_adj, const T1& x1..., const T2& x2, ...)
where there can be any number of input arguments x1, x2, ... and T1, T2, ... can be either doubles or any Eigen::Matrix type with double scalar values. needs_adj is an array of size equal to the number of input arguments indicating whether or not the adjoint^T Jacobian product must be computed for each input argument. This argument is passed to operator() so that any unnecessary preparatory calculations for multiply_adjoint_jacobian can be avoided if possible.
(required) std::tuple<T1, T2, ...> multiply_adjoint_jacobian(const std::array<bool, size>& needs_adj, const Eigen::VectorXd& adj)
where T1, T2, etc. are the same types as in operator(), needs_adj is the same as in operator(), and adj is the vector dL/dy.
operator() is responsible for computing f(x) and multiply_adjoint_jacobian is responsible for computing the necessary adjoint transpose Jacobian products (which frequently does not require the calculation of the full Jacobian).
operator() will be called before multiply_adjoint_jacobian is called, and is only called once in the lifetime of the functor multiply_adjoint_jacobian is called after operator() and may be called multiple times for any single functor
The functor supplied to adj_jac_apply must be careful to allocate any variables it defines in the autodiff arena because its destructor will never be called and memory will leak if allocated anywhere else.
Targs (the input argument types) can be any mix of doubles, vars, ints, std::vectors with double, var, or int scalar components, or Eigen::Matrix s of any shape with var or double scalar components
| F | functor to be connected to the autodiff stack |
| Targs | types of arguments to pass to functor |
| args | input to the functor |
Definition at line 626 of file adj_jac_apply.hpp.
| Eigen::Matrix<T2, Eigen::Dynamic, 1> stan::math::algebra_solver | ( | const F & | f, |
| const Eigen::Matrix< T1, Eigen::Dynamic, 1 > & | x, | ||
| const Eigen::Matrix< T2, Eigen::Dynamic, 1 > & | y, | ||
| const std::vector< double > & | dat, | ||
| const std::vector< int > & | dat_int, | ||
| std::ostream * | msgs = nullptr, |
||
| double | relative_tolerance = 1e-10, |
||
| double | function_tolerance = 1e-6, |
||
| long int | max_num_steps = 1e+3 |
||
| ) |
Return the solution to the specified system of algebraic equations given an initial guess, and parameters and data, which get passed into the algebraic system.
Use Powell's dogleg solver.
The user can also specify the relative tolerance (xtol in Eigen's code), the function tolerance, and the maximum number of steps (maxfev in Eigen's code).
Signature to maintain backward compatibility, will be removed in the future.
| F | type of equation system function |
| T1 | type of elements in the x vector |
| T2 | type of elements in the y vector |
| [in] | f | Functor that evaluates the system of equations. |
| [in] | x | Vector of starting values (initial guess). |
| [in] | y | parameter vector for the equation system. |
| [in] | dat | continuous data vector for the equation system. |
| [in] | dat_int | integer data vector for the equation system. |
| [in,out] | msgs | the print stream for warning messages. |
| [in] | relative_tolerance | determines the convergence criteria for the solution. |
| [in] | function_tolerance | determines whether roots are acceptable. |
| [in] | max_num_steps | maximum number of function evaluations. |
| <code>std::invalid_argument</code> | if x has size zero. |
| <code>std::invalid_argument</code> | if x has non-finite elements. |
| <code>std::invalid_argument</code> | if y has non-finite elements. |
| <code>std::invalid_argument</code> | if dat has non-finite elements. |
| <code>std::invalid_argument</code> | if dat_int has non-finite elements. |
| <code>std::invalid_argument</code> | if relative_tolerance is strictly negative. |
| <code>std::invalid_argument</code> | if function_tolerance is strictly negative. |
| <code>std::invalid_argument</code> | if max_num_steps is not positive. |
| <code>boost::math::evaluation_error</code> | (which is a subclass of std::runtime_error) if solver exceeds max_num_steps. |
| <code>boost::math::evaluation_error</code> | (which is a subclass of std::runtime_error) if the norm of the solution exceeds the function tolerance. |
Definition at line 308 of file algebra_solver_powell.hpp.
| void stan::math::algebra_solver_check | ( | const Eigen::Matrix< T1, Eigen::Dynamic, 1 > & | x, |
| const Eigen::Matrix< T2, Eigen::Dynamic, 1 > | y, | ||
| const std::vector< double > & | dat, | ||
| const std::vector< int > & | dat_int, | ||
| double | function_tolerance, | ||
| long int | max_num_steps | ||
| ) |
Definition at line 161 of file algebra_system.hpp.
| Eigen::Matrix<T2, -1, 1> stan::math::algebra_solver_fp | ( | const F & | f, |
| const Eigen::Matrix< T1, -1, 1 > & | x, | ||
| const Eigen::Matrix< T2, -1, 1 > & | y, | ||
| const std::vector< double > & | x_r, | ||
| const std::vector< int > & | x_i, | ||
| const std::vector< T_u > & | u_scale, | ||
| const std::vector< T_f > & | f_scale, | ||
| std::ostream * | msgs = nullptr, |
||
| double | f_tol = 1e-8, |
||
| int | max_num_steps = 200 |
||
| ) |
Return a fixed pointer to the specified system of algebraic equations of form.
x = F(x; theta)
given an initial guess x, and parameters theta and data. Use the KINSOL solver from the SUNDIALS suite.
The user can also specify the scaling controls, the function tolerance, and the maximum number of steps.
| F | type of equation system function. |
| T | type of initial guess vector. The final soluton type doesn't depend on initial guess type, but we allow initial guess to be either data or param. |
| T_u | type of scaling vector for unknowns. We allow it to be var because scaling could be parameter dependent. Internally these params are converted to data because scaling is applied. |
| T_f | type of scaling vector for residual. We allow it to be var because scaling could be parameter dependent. Internally these params are converted to data because scaling is applied. |
| [in] | f | Functor that evaluated the system of equations. |
| [in] | x | Vector of starting values. |
| [in] | y | Parameter vector for the equation system. The function is overloaded to treat y as a vector of doubles or of a a template type T. |
| [in] | x_r | Continuous data vector for the equation system. |
| [in] | x_i | Integer data vector for the equation system. |
| [in,out] | msgs | The print stream for warning messages. |
| [in] | u_scale | diagonal scaling matrix elements Du such that Du*x has all components roughly the same magnitude when x is close to a solution. (ref. KINSOL user guide chap.2 sec. "Scaling") |
| [in] | f_scale | diagonal scaling matrix elements such that Df*(x-f(x)) has all components roughly the same magnitude when x is not too close to a solution. (ref. KINSOL user guide chap.2 sec. "Scaling") |
| [in] | f_tol | Function-norm stopping tolerance. |
| [in] | max_num_steps | maximum number of function evaluations. |
| <code>std::invalid_argument</code> | if x has size zero. |
| <code>std::invalid_argument</code> | if x has non-finite elements. |
| <code>std::invalid_argument</code> | if y has non-finite elements. |
| <code>std::invalid_argument</code> | if dat has non-finite elements. |
| <code>std::invalid_argument</code> | if dat_int has non-finite elements. |
| <code>std::invalid_argument</code> | if scaled_step_size is strictly negative. |
| <code>std::invalid_argument</code> | if function_tolerance is strictly negative. |
| <code>std::invalid_argument</code> | if max_num_steps is not positive. |
| <code>boost::math::evaluation_error</code> | (which is a subclass of std::runtime_error) if solver exceeds max_num_steps. |
Definition at line 365 of file algebra_solver_fp.hpp.
| Eigen::VectorXd stan::math::algebra_solver_newton | ( | const F & | f, |
| const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, | ||
| const Eigen::VectorXd & | y, | ||
| const std::vector< double > & | dat, | ||
| const std::vector< int > & | dat_int, | ||
| std::ostream * | msgs = nullptr, |
||
| double | scaling_step_size = 1e-3, |
||
| double | function_tolerance = 1e-6, |
||
| long int | max_num_steps = 200 |
||
| ) |
Return the solution to the specified system of algebraic equations given an initial guess, and parameters and data, which get passed into the algebraic system.
Use the KINSOL solver from the SUNDIALS suite.
The user can also specify the scaled step size, the function tolerance, and the maximum number of steps.
| F | type of equation system function. |
| T | type of initial guess vector. |
| [in] | f | Functor that evaluated the system of equations. |
| [in] | x | Vector of starting values. |
| [in] | y | Parameter vector for the equation system. The function is overloaded to treat y as a vector of doubles or of a a template type T. |
| [in] | dat | Continuous data vector for the equation system. |
| [in] | dat_int | Integer data vector for the equation system. |
| [in,out] | msgs | The print stream for warning messages. |
| [in] | scaling_step_size | Scaled-step stopping tolerance. If a Newton step is smaller than the scaling step tolerance, the code breaks, assuming the solver is no longer making significant progress (i.e. is stuck) |
| [in] | function_tolerance | determines whether roots are acceptable. |
| [in] | max_num_steps | maximum number of function evaluations. |
| <code>std::invalid_argument</code> | if x has size zero. |
| <code>std::invalid_argument</code> | if x has non-finite elements. |
| <code>std::invalid_argument</code> | if y has non-finite elements. |
| <code>std::invalid_argument</code> | if dat has non-finite elements. |
| <code>std::invalid_argument</code> | if dat_int has non-finite elements. |
| <code>std::invalid_argument</code> | if scaled_step_size is strictly negative. |
| <code>std::invalid_argument</code> | if function_tolerance is strictly negative. |
| <code>std::invalid_argument</code> | if max_num_steps is not positive. |
| <code>boost::math::evaluation_error</code> | (which is a subclass of std::runtime_error) if solver exceeds max_num_steps. |
Definition at line 59 of file algebra_solver_newton.hpp.
| Eigen::Matrix<T2, Eigen::Dynamic, 1> stan::math::algebra_solver_newton | ( | const F & | f, |
| const Eigen::Matrix< T1, Eigen::Dynamic, 1 > & | x, | ||
| const Eigen::Matrix< T2, Eigen::Dynamic, 1 > & | y, | ||
| const std::vector< double > & | dat, | ||
| const std::vector< int > & | dat_int, | ||
| std::ostream * | msgs = nullptr, |
||
| double | scaling_step_size = 1e-3, |
||
| double | function_tolerance = 1e-6, |
||
| long int | max_num_steps = 200 |
||
| ) |
Return the solution to the specified system of algebraic equations given an initial guess, and parameters and data, which get passed into the algebraic system.
Use the KINSOL solver from the SUNDIALS suite.
The user can also specify the scaled step size, the function tolerance, and the maximum number of steps.
Overload the previous definition to handle the case where y is a vector of parameters (var). The overload calls the algebraic solver defined above and builds a vari object on top, using the algebra_solver_vari class.
| F | type of equation system function. |
| T | type of initial guess vector. |
| [in] | f | Functor that evaluated the system of equations. |
| [in] | x | Vector of starting values. |
| [in] | y | Parameter vector for the equation system. The function is overloaded to treat y as a vector of doubles or of a a template type T. |
| [in] | dat | Continuous data vector for the equation system. |
| [in] | dat_int | Integer data vector for the equation system. |
| [in,out] | msgs | The print stream for warning messages. |
| [in] | scaling_step_size | Scaled-step stopping tolerance. If a Newton step is smaller than the scaling step tolerance, the code breaks, assuming the solver is no longer making significant progress (i.e. is stuck) |
| [in] | function_tolerance | determines whether roots are acceptable. |
| [in] | max_num_steps | maximum number of function evaluations. |
| <code>std::invalid_argument</code> | if x has size zero. |
| <code>std::invalid_argument</code> | if x has non-finite elements. |
| <code>std::invalid_argument</code> | if y has non-finite elements. |
| <code>std::invalid_argument</code> | if dat has non-finite elements. |
| <code>std::invalid_argument</code> | if dat_int has non-finite elements. |
| <code>std::invalid_argument</code> | if scaled_step_size is strictly negative. |
| <code>std::invalid_argument</code> | if function_tolerance is strictly negative. |
| <code>std::invalid_argument</code> | if max_num_steps is not positive. |
| <code>boost::math::evaluation_error</code> | (which is a subclass of std::runtime_error) if solver exceeds max_num_steps. |
Definition at line 122 of file algebra_solver_newton.hpp.
| Eigen::VectorXd stan::math::algebra_solver_powell | ( | const F & | f, |
| const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, | ||
| const Eigen::VectorXd & | y, | ||
| const std::vector< double > & | dat, | ||
| const std::vector< int > & | dat_int, | ||
| std::ostream * | msgs = nullptr, |
||
| double | relative_tolerance = 1e-10, |
||
| double | function_tolerance = 1e-6, |
||
| long int | max_num_steps = 1e+3 |
||
| ) |
Return the solution to the specified system of algebraic equations given an initial guess, and parameters and data, which get passed into the algebraic system.
Use Powell's dogleg solver.
The user can also specify the relative tolerance (xtol in Eigen's code), the function tolerance, and the maximum number of steps (maxfev in Eigen's code).
Throw an exception if the norm of f(x), where f is the output of the algebraic system and x the proposed solution, is greater than the function tolerance. We here use the norm as a metric to measure how far we are from the origin (0).
| F | type of equation system function. |
| T | type of initial guess vector. |
| [in] | f | Functor that evaluates the system of equations. |
| [in] | x | Vector of starting values. |
| [in] | y | parameter vector for the equation system. The function is overloaded to treat y as a vector of doubles or of a a template type T. |
| [in] | dat | continuous data vector for the equation system. |
| [in] | dat_int | integer data vector for the equation system. |
| [in,out] | msgs | the print stream for warning messages. |
| [in] | relative_tolerance | determines the convergence criteria for the solution. |
| [in] | function_tolerance | determines whether roots are acceptable. |
| [in] | max_num_steps | maximum number of function evaluations. |
| <code>std::invalid_argument</code> | if x has size zero. |
| <code>std::invalid_argument</code> | if x has non-finite elements. |
| <code>std::invalid_argument</code> | if y has non-finite elements. |
| <code>std::invalid_argument</code> | if dat has non-finite elements. |
| <code>std::invalid_argument</code> | if dat_int has non-finite elements. |
| <code>std::invalid_argument</code> | if relative_tolerance is strictly negative. |
| <code>std::invalid_argument</code> | if function_tolerance is strictly negative. |
| <code>std::invalid_argument</code> | if max_num_steps is not positive. |
| <code>boost::math::evaluation_error</code> | (which is a subclass of std::runtime_error) if solver exceeds max_num_steps. |
| <code>boost::math::evaluation_error</code> | (which is a subclass of std::runtime_error) if the norm of the solution exceeds the function tolerance. |
Definition at line 128 of file algebra_solver_powell.hpp.
| Eigen::Matrix<T2, Eigen::Dynamic, 1> stan::math::algebra_solver_powell | ( | const F & | f, |
| const Eigen::Matrix< T1, Eigen::Dynamic, 1 > & | x, | ||
| const Eigen::Matrix< T2, Eigen::Dynamic, 1 > & | y, | ||
| const std::vector< double > & | dat, | ||
| const std::vector< int > & | dat_int, | ||
| std::ostream * | msgs = nullptr, |
||
| double | relative_tolerance = 1e-10, |
||
| double | function_tolerance = 1e-6, |
||
| long int | max_num_steps = 1e+3 |
||
| ) |
Return the solution to the specified system of algebraic equations given an initial guess, and parameters and data, which get passed into the algebraic system.
Use Powell's dogleg solver.
The user can also specify the relative tolerance (xtol in Eigen's code), the function tolerance, and the maximum number of steps (maxfev in Eigen's code).
Overload the previous definition to handle the case where y is a vector of parameters (var). The overload calls the algebraic solver defined above and builds a vari object on top, using the algebra_solver_vari class.
| F | type of equation system function |
| T1 | type of elements in the x vector |
| T2 | type of elements in the y vector |
| [in] | f | Functor that evaluates the system of equations. |
| [in] | x | Vector of starting values (initial guess). |
| [in] | y | parameter vector for the equation system. |
| [in] | dat | continuous data vector for the equation system. |
| [in] | dat_int | integer data vector for the equation system. |
| [in,out] | msgs | the print stream for warning messages. |
| [in] | relative_tolerance | determines the convergence criteria for the solution. |
| [in] | function_tolerance | determines whether roots are acceptable. |
| [in] | max_num_steps | maximum number of function evaluations. |
| <code>std::invalid_argument</code> | if x has size zero. |
| <code>std::invalid_argument</code> | if x has non-finite elements. |
| <code>std::invalid_argument</code> | if y has non-finite elements. |
| <code>std::invalid_argument</code> | if dat has non-finite elements. |
| <code>std::invalid_argument</code> | if dat_int has non-finite elements. |
| <code>std::invalid_argument</code> | if relative_tolerance is strictly negative. |
| <code>std::invalid_argument</code> | if function_tolerance is strictly negative. |
| <code>std::invalid_argument</code> | if max_num_steps is not positive. |
| <code>boost::math::evaluation_error</code> | (which is a subclass of std::runtime_error) if solver exceeds max_num_steps. |
| <code>boost::math::evaluation_error</code> | (which is a subclass of std::runtime_error) if the norm of the solution exceeds the function tolerance. |
Definition at line 229 of file algebra_solver_powell.hpp.
|
inline |
Return the concatenation of two specified vectors in the order of the arguments.
The return type is computed with append_return_type
| T1 | type of elements in first vector |
| T2 | type of elements in second vector |
| x | First vector |
| y | Second vector |
Definition at line 29 of file append_array.hpp.
|
inline |
Return the concatenation of two specified vectors in the order of the arguments.
| T1 | type of elements in both vectors |
| x | First vector |
| y | Second vector |
Definition at line 59 of file append_array.hpp.
|
inline |
Return the result of appending the second argument matrix after the first argument matrix, that is, putting them side by side, with the first matrix followed by the second matrix.
The inputs can be (matrix, matrix), (matrix, vector), (vector, matrix), or (vector, vector) and the output is always a matrix.
| T1 | type of elements in the first matrix |
| T2 | type of elements in the second matrix |
| R1 | number of rows in the first matrix, can be Eigen::Dynamic |
| C1 | number of columns in the first matrix, can be Eigen::Dynamic |
| R2 | number of rows in the second matrix, can be Eigen::Dynamic |
| C2 | number of columns in the second matrix, can be Eigen::Dynamic |
| A | First matrix. |
| B | Second matrix. |
Definition at line 38 of file append_col.hpp.
|
inline |
Return the result of concatenating the first row vector followed by the second row vector side by side, with the result being a row vector.
This function applies to (row_vector, row_vector) and returns a row_vector.
| T1 | type of elements in the first row vector |
| T2 | type of elements in the second row vector |
| C1 | number of columns in the first row vector, can be Eigen::Dynamic |
| C2 | number of columns in the second row vector, can be Eigen::Dynamic |
| A | First vector. |
| B | Second vector |
Definition at line 83 of file append_col.hpp.
|
inline |
Return the result of appending the second argument matrix after the first argument matrix, that is, putting them side by side, with the first matrix followed by the second matrix.
This is an overloaded template function for the case when both matrices have the same type.
The inputs can be (matrix, matrix), (matrix, vector), (vector, matrix), or (vector, vector), and the output is always a matrix.
| T | type of elements in both matrices |
| R1 | number of rows in the first matrix, can be Eigen::Dynamic |
| C1 | number of columns in the first matrix, can be Eigen::Dynamic |
| R2 | number of rows in the second matrix, can be Eigen::Dynamic |
| C2 | number of columns in the second matrix, can be Eigen::Dynamic |
| A | First matrix. |
| B | Second matrix. |
Definition at line 126 of file append_col.hpp.
|
inline |
Return the result of concatenating the first row vector followed by the second row vector side by side, with the result being a row vector.
This function applies to (row_vector, row_vector) and returns a row_vector.
| T | type of elements in both vectors |
| C1 | number of columns in the first row vector, can be Eigen::Dynamic |
| C2 | number of columns in the second row vector, can be Eigen::Dynamic |
| A | First vector. |
| B | Second vector |
Definition at line 156 of file append_col.hpp.
|
inline |
Return the result of stacking an scalar on top of the a row vector, with the result being a row vector.
This function applies to (scalar, row vector) and returns a row vector.
| T1 | type of the scalar |
| T2 | type of elements in the row vector |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| A | scalar. |
| B | row vector. |
Definition at line 183 of file append_col.hpp.
|
inline |
Return the result of stacking a row vector on top of the an scalar, with the result being a row vector.
This function applies to (row vector, scalar) and returns a row vector.
| T1 | type of elements in the row vector |
| T2 | type of the scalar |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| A | row vector. |
| B | scalar. |
Definition at line 211 of file append_col.hpp.
|
inline |
Return the result of stacking the rows of the first argument matrix on top of the second argument matrix.
The inputs can be (matrix, matrix), (matrix, row_vector), (row_vector, matrix), or (row_vector, row_vector), and the output is always a matrix.
| T1 | type of elements in first matrix |
| T2 | type of elements in second matrix |
| R1 | number of rows in the first matrix, can be Eigen::Dynamic |
| C1 | number of columns in the first matrix, can be Eigen::Dynamic |
| R2 | number of rows in the second matrix, can be Eigen::Dynamic |
| C2 | number of columns in the second matrix, can be Eigen::Dynamic |
| A | First matrix. |
| B | Second matrix. |
Definition at line 36 of file append_row.hpp.
|
inline |
Return the result of stacking the first vector on top of the second vector, with the result being a vector.
This function applies to (vector, vector) and returns a vector.
| T1 | type of elements in first vector |
| T2 | type of elements in second vector |
| R1 | number of rows in the first vector, can be Eigen::Dynamic |
| R2 | number of rows in the second vector, can be Eigen::Dynamic |
| A | First vector. |
| B | Second vector. |
Definition at line 76 of file append_row.hpp.
|
inline |
Return the result of stacking the rows of the first argument matrix on top of the second argument matrix.
This is an overload for the case when the scalar types of the two input matrix are the same.
The inputs can be (matrix, matrix), (matrix, row_vector), (row_vector, matrix), or (row_vector, row_vector), and the output is always a matrix.
| T | type of elements in both matrices |
| R1 | number of rows in the first matrix, can be Eigen::Dynamic |
| C1 | number of columns in the first matrix, can be Eigen::Dynamic |
| R2 | number of rows in the second matrix, can be Eigen::Dynamic |
| C2 | number of columns in the second matrix, can be Eigen::Dynamic |
| A | First matrix. |
| B | Second matrix. |
Definition at line 117 of file append_row.hpp.
|
inline |
Return the result of stacking the first vector on top of the second vector, with the result being a vector.
This is an overloaded template function for the case where both inputs have the same scalar type.
This function applies to (vector, vector) and returns a vector.
| T | type of elements in both vectors |
| R1 | number of rows in the first vector, can be Eigen::Dynamic |
| R2 | number of rows in the second vector, can be Eigen::Dynamic |
| A | First vector. |
| B | Second vector. |
Definition at line 148 of file append_row.hpp.
|
inline |
Return the result of stacking an scalar on top of the a vector, with the result being a vector.
This function applies to (scalar, vector) and returns a vector.
| T1 | type of the scalar |
| T2 | type of elements in the vector |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| A | scalar. |
| B | vector. |
Definition at line 174 of file append_row.hpp.
|
inline |
Return the result of stacking a vector on top of the an scalar, with the result being a vector.
This function applies to (vector, scalar) and returns a vector.
| T1 | type of elements in the vector |
| T2 | type of the scalar |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| A | vector. |
| B | scalar. |
Definition at line 201 of file append_row.hpp.
|
inline |
Converts a matrix type to an array.
| T | Type of Eigen Matrix or expression |
| v | Specified Eigen Matrix or expression. |
Definition at line 31 of file as_array_or_scalar.hpp.
|
inline |
Return 1 if the argument is unequal to zero and 0 otherwise.
| v | Value. |
Definition at line 16 of file as_bool.hpp.
|
inline |
Return true if the argument is not equal to zero (in the != operator sense) and false otherwise.
| T | type of scalar |
| x | value |
Definition at line 17 of file as_bool.hpp.
|
inline |
Converts input argument to a column vector or a scalar.
For column vector inputs this is an identity function.
| T | Type of scalar element. |
| a | Specified vector. |
Definition at line 33 of file as_column_vector_or_scalar.hpp.
|
inline |
Converts input argument to a column vector or a scalar.
For a row vector input this is transpose.
| T | Type of scalar element. |
| a | Specified vector. |
Definition at line 46 of file as_column_vector_or_scalar.hpp.
|
inline |
Converts any valid kernel generator expression into an operation.
This is an overload for operations - a no-op
| T_operation | type of the input operation |
| a | an operation |
Definition at line 26 of file as_operation_cl.hpp.
|
inline |
Converts any valid kernel generator expression into an operation.
This is an overload for scalars (arithmetic types). It wraps them into scalar_.
| T_scalar | type of the input scalar |
| a | scalar |
scalar_ wrapping the input Definition at line 38 of file as_operation_cl.hpp.
|
inline |
|
inline |
|
inline |
Return the principal value of the arc sine, in radians, of the specified variable (cmath).
The derivative is defined by
\(\frac{d}{dx} \arcsin x = \frac{1}{\sqrt{1 - x^2}}\).
\[ \mbox{asin}(x) = \begin{cases} \textrm{NaN} & \mbox{if } x < -1\\ \arcsin(x) & \mbox{if } -1\leq x\leq 1 \\ \textrm{NaN} & \mbox{if } x > 1\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{asin}(x)}{\partial x} = \begin{cases} \textrm{NaN} & \mbox{if } x < -1\\ \frac{\partial\, \arcsin(x)}{\partial x} & \mbox{if } -1\leq x\leq 1 \\ \textrm{NaN} & \mbox{if } x < -1\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial \, \arcsin(x)}{\partial x} = \frac{1}{\sqrt{1-x^2}} \]
| a | Variable in range [-1, 1]. |
|
inline |
|
inline |
|
inline |
The inverse hyperbolic sine function for variables (C99).
The derivative is defined by
\(\frac{d}{dx} \mbox{asinh}(x) = \frac{x}{x^2 + 1}\).
\[ \mbox{asinh}(x) = \begin{cases} \sinh^{-1}(x) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{asinh}(x)}{\partial x} = \begin{cases} \frac{\partial\, \sinh^{-1}(x)}{\partial x} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \sinh^{-1}(x)=\ln\left(x+\sqrt{x^2+1}\right) \]
\[ \frac{\partial \, \sinh^{-1}(x)}{\partial x} = \frac{1}{\sqrt{x^2+1}} \]
| a | The variable. |
|
inline |
Copy the right-hand side's value to the left-hand side variable.
The assign() function is overloaded. This instance will match arguments where the right-hand side is assignable to the left and they are not both std::vector or Eigen::Matrix types.
| T_lhs | Type of left-hand side. |
| T_rhs | Type of right-hand side. |
| x | Left-hand side. |
| y | Right-hand side. |
Definition at line 45 of file assign.hpp.
|
inline |
Copy the right-hand side's value to the left-hand side variable.
The assign() function is overloaded. This instance will be called for arguments that are both Eigen::Matrix types, but whose shapes are not compatible. The shapes are specified in the row and column template parameters.
| T_lhs | type of elements in the left-hand side matrix |
| T_rhs | type of elements in the right-hand side matrix |
| R1 | number of rows in the left-hand side matrix or Eigen::Dynamic |
| C1 | number of columns in the left-hand side matrix or Eigen::Dynamic |
| R2 | number of rows in the right-hand side matrix or Eigen::Dynamic |
| C2 | number of columns in the right-hand side matrix or Eigen::Dynamic |
| x | Left-hand side matrix. |
| y | Right-hand side matrix. |
| std::invalid_argument |
Definition at line 71 of file assign.hpp.
|
inline |
Copy the right-hand side's value to the left-hand side variable.
The assign() function is overloaded. This instance will be called for arguments that are both Eigen::Matrix types and whose shapes match. The shapes are specified in the row and column template parameters.
| T_lhs | type of elements in the left-hand side matrix |
| T_rhs | type of elements in the right-hand side matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| x | Left-hand side matrix. |
| y | Right-hand side matrix. |
| std::invalid_argument | if sizes do not match. |
Definition at line 107 of file assign.hpp.
|
inline |
Copy the right-hand side's value to the left-hand side variable.
The assign() function is overloaded. This instance will be called for arguments that are both Eigen::Matrix types and whose shapes match. The shape of the right-hand side matrix is specified in the row and column shape template parameters.
The left-hand side is intentionally not a reference, because that won't match generally enough; instead, a non-reference is used, which still holds onto a reference to the contained matrix and thus still updates the appropriate values.
| T_lhs | type of matrix block elements |
| T | type of elements in the right-hand side matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| x | Left-hand side block view of matrix. |
| y | Right-hand side matrix. |
| std::invalid_argument | if sizes do not match. |
Definition at line 140 of file assign.hpp.
|
inline |
Copy the right-hand side's value to the left-hand side variable.
The assign() function is overloaded. This instance will be called for arguments that are both std::vector, and will call assign() element-by element.
For example, a std::vector<int> can be assigned to a std::vector<double> using this function.
| T_lhs | type of elements in the left-hand side vector |
| T_rhs | type of elements in the right-hand side vector |
| x | Left-hand side vector. |
| y | Right-hand side vector. |
| std::invalid_argument | if sizes do not match. |
Definition at line 172 of file assign.hpp.
|
inline |
|
inline |
Return the principal value of the arc tangent, in radians, of the specified variable (cmath).
The derivative is defined by
\(\frac{d}{dx} \arctan x = \frac{1}{1 + x^2}\).
\[ \mbox{atan}(x) = \begin{cases} \arctan(x) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{atan}(x)}{\partial x} = \begin{cases} \frac{\partial\, \arctan(x)}{\partial x} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial \, \arctan(x)}{\partial x} = \frac{1}{x^2+1} \]
| a | Variable in range [-1, 1]. |
Return the principal value of the arc tangent, in radians, of the first variable divided by the second (cmath).
The partial derivatives are defined by
\( \frac{\partial}{\partial x} \arctan \frac{x}{y} = \frac{y}{x^2 + y^2}\), and
\( \frac{\partial}{\partial y} \arctan \frac{x}{y} = \frac{-x}{x^2 + y^2}\).
| a | Numerator variable. |
| b | Denominator variable. |
Return the principal value of the arc tangent, in radians, of the first variable divided by the second scalar (cmath).
The derivative with respect to the variable is
\( \frac{d}{d x} \arctan \frac{x}{c} = \frac{c}{x^2 + c^2}\).
| a | Numerator variable. |
| b | Denominator scalar. |
Return the principal value of the arc tangent, in radians, of the first scalar divided by the second variable (cmath).
The derivative with respect to the variable is
\( \frac{\partial}{\partial y} \arctan \frac{c}{y} = \frac{-c}{c^2 + y^2}\).
\[ \mbox{atan2}(x, y) = \begin{cases} \arctan\left(\frac{x}{y}\right) & \mbox{if } -\infty\leq x \leq \infty, -\infty\leq y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{atan2}(x, y)}{\partial x} = \begin{cases} \frac{y}{x^2+y^2} & \mbox{if } -\infty\leq x\leq \infty, -\infty\leq y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{atan2}(x, y)}{\partial y} = \begin{cases} -\frac{x}{x^2+y^2} & \mbox{if } -\infty\leq x\leq \infty, -\infty\leq y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| a | Numerator scalar. |
| b | Denominator variable. |
|
inline |
Return the inverse hyperbolic tangent of the specified value.
An argument of -1 returns negative infinity and an argument of 1 returns infinity. Returns nan for nan argument.
| [in] | x | Argument. |
| std::domain_error | If argument is not in [-1, 1]. |
|
inline |
The inverse hyperbolic tangent function for variables (C99).
The derivative is defined by
\(\frac{d}{dx} \mbox{atanh}(x) = \frac{1}{1 - x^2}\).
\[ \mbox{atanh}(x) = \begin{cases} \textrm{NaN} & \mbox{if } x < -1\\ \tanh^{-1}(x) & \mbox{if } -1\leq x \leq 1 \\ \textrm{NaN} & \mbox{if } x > 1\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{atanh}(x)}{\partial x} = \begin{cases} \textrm{NaN} & \mbox{if } x < -1\\ \frac{\partial\, \tanh^{-1}(x)}{\partial x} & \mbox{if } -1\leq x\leq 1 \\ \textrm{NaN} & \mbox{if } x > 1\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \tanh^{-1}(x)=\frac{1}{2}\ln\left(\frac{1+x}{1-x}\right) \]
\[ \frac{\partial \, \tanh^{-1}(x)}{\partial x} = \frac{1}{1-x^2} \]
| a | The variable. |
| std::domain_error | if a < -1 or a > 1 |
|
inline |
Return the elementwise application of atanh() to specified argument container.
The return type promotes the underlying scalar argument type to double if it is an integer, and otherwise is the argument type.
| T | type of container |
| x | container |
| void stan::math::autocorrelation | ( | const std::vector< T > & | y, |
| std::vector< T > & | ac, | ||
| Eigen::FFT< T > & | fft | ||
| ) |
Write autocorrelation estimates for every lag for the specified input sequence into the specified result using the specified FFT engine.
The return vector be resized to the same length as the input sequence with lags given by array index.
The implementation involves a fast Fourier transform, followed by a normalization, followed by an inverse transform.
An FFT engine can be created for reuse for type double with:
Eigen::FFT<double> fft;
| T | Scalar type. |
| y | Input sequence. |
| ac | Autocorrelations. |
| fft | FFT engine instance. |
Definition at line 62 of file autocorrelation.hpp.
| void stan::math::autocorrelation | ( | const Eigen::MatrixBase< DerivedA > & | y, |
| Eigen::MatrixBase< DerivedB > & | ac, | ||
| Eigen::FFT< T > & | fft | ||
| ) |
Write autocorrelation estimates for every lag for the specified input sequence into the specified result using the specified FFT engine.
The return vector be resized to the same length as the input sequence with lags given by array index.
The implementation involves a fast Fourier transform, followed by a normalization, followed by an inverse transform.
An FFT engine can be created for reuse for type double with:
Eigen::FFT<double> fft;
| T | Scalar type. |
| y | Input sequence. |
| ac | Autocorrelations. |
| fft | FFT engine instance. |
Definition at line 119 of file autocorrelation.hpp.
| void stan::math::autocorrelation | ( | const std::vector< T > & | y, |
| std::vector< T > & | ac | ||
| ) |
Write autocorrelation estimates for every lag for the specified input sequence into the specified result.
The return vector be resized to the same length as the input sequence with lags given by array index.
The implementation involves a fast Fourier transform, followed by a normalization, followed by an inverse transform.
This method is just a light wrapper around the three-argument autocorrelation function.
| T | Scalar type. |
| y | Input sequence. |
| ac | Autocorrelations. |
Definition at line 164 of file autocorrelation.hpp.
| void stan::math::autocorrelation | ( | const Eigen::MatrixBase< DerivedA > & | y, |
| Eigen::MatrixBase< DerivedB > & | ac | ||
| ) |
Write autocorrelation estimates for every lag for the specified input sequence into the specified result.
The return vector be resized to the same length as the input sequence with lags given by array index.
The implementation involves a fast Fourier transform, followed by a normalization, followed by an inverse transform.
This method is just a light wrapper around the three-argument autocorrelation function
| T | Scalar type. |
| y | Input sequence. |
| ac | Autocorrelations. |
Definition at line 191 of file autocorrelation.hpp.
| void stan::math::autocovariance | ( | const std::vector< T > & | y, |
| std::vector< T > & | acov, | ||
| Eigen::FFT< T > & | fft | ||
| ) |
Write autocovariance estimates for every lag for the specified input sequence into the specified result using the specified FFT engine.
The return vector be resized to the same length as the input sequence with lags given by array index.
The implementation involves a fast Fourier transform, followed by a normalization, followed by an inverse transform.
An FFT engine can be created for reuse for type double with:
Eigen::FFT<double> fft;
| T | Scalar type. |
| y | Input sequence. |
| acov | Autocovariance. |
| fft | FFT engine instance. |
Definition at line 33 of file autocovariance.hpp.
| void stan::math::autocovariance | ( | const Eigen::MatrixBase< DerivedA > & | y, |
| Eigen::MatrixBase< DerivedB > & | acov, | ||
| Eigen::FFT< T > & | fft | ||
| ) |
Write autocovariance estimates for every lag for the specified input sequence into the specified result using the specified FFT engine.
The return vector be resized to the same length as the input sequence with lags given by array index.
The implementation involves a fast Fourier transform, followed by a normalization, followed by an inverse transform.
An FFT engine can be created for reuse for type double with:
Eigen::FFT<double> fft;
| T | scalar type |
| DerivedA | type of the first matrix |
| DerivedB | type of the second matrix |
| y | Input sequence. |
| acov | Autocovariance. |
| fft | FFT engine instance. |
Definition at line 66 of file autocovariance.hpp.
| void stan::math::autocovariance | ( | const std::vector< T > & | y, |
| std::vector< T > & | acov | ||
| ) |
Write autocovariance estimates for every lag for the specified input sequence into the specified result.
The return vector be resized to the same length as the input sequence with lags given by array index.
The implementation involves a fast Fourier transform, followed by a normalization, followed by an inverse transform.
This method is just a light wrapper around the three-argument autocovariance function.
| T | Scalar type. |
| y | Input sequence. |
| acov | Autocovariances. |
Definition at line 89 of file autocovariance.hpp.
| void stan::math::autocovariance | ( | const Eigen::MatrixBase< DerivedA > & | y, |
| Eigen::MatrixBase< DerivedB > & | acov | ||
| ) |
Write autocovariance estimates for every lag for the specified input sequence into the specified result.
The return vector be resized to the same length as the input sequence with lags given by array index.
The implementation involves a fast Fourier transform, followed by a normalization, followed by an inverse transform.
This method is just a light wrapper around the three-argument autocovariance function
| T | scalar type |
| DerivedA | type of the first matrix |
| DerivedB | type of the second matrix |
| y | Input sequence. |
| acov | Autocovariances. |
Definition at line 118 of file autocovariance.hpp.
|
inline |
Definition at line 144 of file bernoulli_logit_glm_lpmf.hpp.
|
inline |
Definition at line 168 of file bernoulli_logit_glm_lpmf.hpp.
|
inline |
Definition at line 86 of file bernoulli_logit_lpmf.hpp.
|
inline |
Definition at line 108 of file bernoulli_lpmf.hpp.
Definition at line 12 of file bessel_first_kind.hpp.
Definition at line 25 of file bessel_first_kind.hpp.
|
inline |
\[ \mbox{bessel\_first\_kind}(v, x) = \begin{cases} J_v(x) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{error} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{bessel\_first\_kind}(v, x)}{\partial x} = \begin{cases} \frac{\partial\, J_v(x)}{\partial x} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{error} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ J_v(x)=\left(\frac{1}{2}x\right)^v \sum_{k=0}^\infty \frac{\left(-\frac{1}{4}x^2\right)^k}{k!\, \Gamma(v+k+1)} \]
\[ \frac{\partial \, J_v(x)}{\partial x} = \frac{v}{x}J_v(x)-J_{v+1}(x) \]
Definition at line 38 of file bessel_first_kind.hpp.
Definition at line 12 of file bessel_second_kind.hpp.
Definition at line 25 of file bessel_second_kind.hpp.
|
inline |
\[ \mbox{bessel\_second\_kind}(v, x) = \begin{cases} \textrm{error} & \mbox{if } x \leq 0 \\ Y_v(x) & \mbox{if } x > 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{bessel\_second\_kind}(v, x)}{\partial x} = \begin{cases} \textrm{error} & \mbox{if } x \leq 0 \\ \frac{\partial\, Y_v(x)}{\partial x} & \mbox{if } x > 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ Y_v(x)=\frac{J_v(x)\cos(v\pi)-J_{-v}(x)}{\sin(v\pi)} \]
\[ \frac{\partial \, Y_v(x)}{\partial x} = \frac{v}{x}Y_v(x)-Y_{v+1}(x) \]
Definition at line 40 of file bessel_second_kind.hpp.
|
inline |
Return the beta function applied to the specified arguments.
The beta function is defined for \(a > 0\) and \(b > 0\) by
\(\mbox{B}(a, b) = \frac{\Gamma(a) \Gamma(b)}{\Gamma(a+b)}\).
\[ \mbox{beta}(\alpha, \beta) = \begin{cases} \int_0^1 u^{\alpha - 1} (1 - u)^{\beta - 1} \, du & \mbox{if } \alpha, \beta>0 \\[6pt] \textrm{NaN} & \mbox{if } \alpha = \textrm{NaN or } \beta = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{beta}(\alpha, \beta)}{\partial \alpha} = \begin{cases} \left(\psi(\alpha)-\psi(\alpha+\beta)\right)*\mbox{beta}(\alpha, \beta) & \mbox{if } \alpha, \beta>0 \\[6pt] \textrm{NaN} & \mbox{if } \alpha = \textrm{NaN or } \beta = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{beta}(\alpha, \beta)}{\partial \beta} = \begin{cases} \left(\psi(\beta)-\psi(\alpha+\beta)\right)*\mbox{beta}(\alpha, \beta) & \mbox{if } \alpha, \beta>0 \\[6pt] \textrm{NaN} & \mbox{if } \alpha = \textrm{NaN or } \beta = \textrm{NaN} \end{cases} \]
| T1 | type of first value |
| T2 | type of second value |
| a | First value |
| b | Second value |
|
inline |
Return fvar with the beta function applied to the specified arguments and its gradient.
The beta function is defined for \(a > 0\) and \(b > 0\) by
\(\mbox{B}(a, b) = \frac{\Gamma(a) \Gamma(b)}{\Gamma(a+b)}\).
\[ \mbox{beta}(\alpha, \beta) = \begin{cases} \int_0^1 u^{\alpha - 1} (1 - u)^{\beta - 1} \, du & \mbox{if } \alpha, \beta>0 \\[6pt] \textrm{NaN} & \mbox{if } \alpha = \textrm{NaN or } \beta = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{beta}(\alpha, \beta)}{\partial \alpha} = \begin{cases} \left(\psi(\alpha)-\psi(\alpha+\beta)\right)*\mbox{beta}(\alpha, \beta) & \mbox{if } \alpha, \beta>0 \\[6pt] \textrm{NaN} & \mbox{if } \alpha = \textrm{NaN or } \beta = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{beta}(\alpha, \beta)}{\partial \beta} = \begin{cases} \left(\psi(\beta)-\psi(\alpha+\beta)\right)*\mbox{beta}(\alpha, \beta) & \mbox{if } \alpha, \beta>0 \\[6pt] \textrm{NaN} & \mbox{if } \alpha = \textrm{NaN or } \beta = \textrm{NaN} \end{cases} \]
| T | inner type of the fvar |
| x1 | First value |
| x2 | Second value |
| return_type_t<T_size1, T_size2> stan::math::beta_binomial_lpmf | ( | const T_n & | n, |
| const T_N & | N, | ||
| const T_size1 & | alpha, | ||
| const T_size2 & | beta | ||
| ) |
Definition at line 148 of file beta_binomial_lpmf.hpp.
|
inline |
Definition at line 182 of file beta_lpdf.hpp.
|
inline |
Definition at line 173 of file beta_proportion_lpdf.hpp.
Definition at line 12 of file binary_log_loss.hpp.
|
inline |
Returns the log loss function for binary classification with specified reference and response values.
The log loss function for prediction \(\hat{y} \in [0, 1]\) given outcome \(y \in \{ 0, 1 \}\) is
\(\mbox{logloss}(1, \hat{y}) = -\log \hat{y} \), and
\(\mbox{logloss}(0, \hat{y}) = -\log (1 - \hat{y}) \).
| T | value type |
| [in] | y | reference value, either 0 or 1 |
| [in] | y_hat | response value in [0, 1] |
Definition at line 28 of file binary_log_loss.hpp.
The log loss function for variables (stan).
See binary_log_loss() for the double-based version.
The derivative with respect to the variable \(\hat{y}\) is
\(\frac{d}{d\hat{y}} \mbox{logloss}(1, \hat{y}) = - \frac{1}{\hat{y}}\), and
\(\frac{d}{d\hat{y}} \mbox{logloss}(0, \hat{y}) = \frac{1}{1 - \hat{y}}\).
\[ \mbox{binary\_log\_loss}(y, \hat{y}) = \begin{cases} y \log \hat{y} + (1 - y) \log (1 - \hat{y}) & \mbox{if } 0\leq \hat{y}\leq 1, y\in\{ 0, 1 \}\\[6pt] \textrm{NaN} & \mbox{if } \hat{y} = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{binary\_log\_loss}(y, \hat{y})}{\partial \hat{y}} = \begin{cases} \frac{y}{\hat{y}}-\frac{1-y}{1-\hat{y}} & \mbox{if } 0\leq \hat{y}\leq 1, y\in\{ 0, 1 \}\\[6pt] \textrm{NaN} & \mbox{if } \hat{y} = \textrm{NaN} \end{cases} \]
| y | Reference value. |
| y_hat | Response variable. |
Definition at line 62 of file binary_log_loss.hpp.
|
inline |
Return the log of the binomial coefficient for the specified arguments.
The binomial coefficient, \({N \choose n}\), read "N choose n", is defined for \(0 \leq n \leq N\) by
\({N \choose n} = \frac{N!}{n! (N-n)!}\).
This function uses Gamma functions to define the log and generalize the arguments to continuous N and n.
\( \log {N \choose n} = \log \ \Gamma(N+1) - \log \Gamma(n+1) - \log \Gamma(N-n+1)\).
\[ \mbox{binomial\_coefficient\_log}(x, y) = \begin{cases} \textrm{error} & \mbox{if } y > x \textrm{ or } y < 0\\ \ln\Gamma(x+1) & \mbox{if } 0\leq y \leq x \\ \quad -\ln\Gamma(y+1)& \\ \quad -\ln\Gamma(x-y+1)& \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{binomial\_coefficient\_log}(x, y)}{\partial x} = \begin{cases} \textrm{error} & \mbox{if } y > x \textrm{ or } y < 0\\ \Psi(x+1) & \mbox{if } 0\leq y \leq x \\ \quad -\Psi(x-y+1)& \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{binomial\_coefficient\_log}(x, y)}{\partial y} = \begin{cases} \textrm{error} & \mbox{if } y > x \textrm{ or } y < 0\\ -\Psi(y+1) & \mbox{if } 0\leq y \leq x \\ \quad +\Psi(x-y+1)& \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| T_N | type of the first argument |
| T_n | type of the second argument |
| N | total number of objects. |
| n | number of objects chosen. |
Definition at line 65 of file binomial_coefficient_log.hpp.
|
inline |
Definition at line 113 of file binomial_logit_lpmf.hpp.
|
inline |
Definition at line 107 of file binomial_lpmf.hpp.
|
inline |
Return a nrows x ncols submatrix starting at (i-1, j-1).
| T | type of elements in the matrix |
| m | Matrix. |
| i | Starting row. |
| j | Starting column. |
| nrows | Number of rows in block. |
| ncols | Number of columns in block. |
| std::out_of_range | if either index is out of range. |
|
inline |
Allocates and populates a flat array of vari pointers in the autodiff arena with the varis pointed to by the vars in the input Eigen matrix.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| x | input matrix |
Definition at line 21 of file build_vari_array.hpp.
|
inline |
Definition at line 10 of file calculate_chain.hpp.
| return_type_t<T_alpha_scalar, T_beta_scalar> stan::math::categorical_logit_glm_lpmf | ( | const matrix_cl< int > & | y, |
| const matrix_cl< double > & | x, | ||
| const Eigen::Matrix< T_alpha_scalar, Eigen::Dynamic, 1 > & | alpha, | ||
| const Eigen::Matrix< T_beta_scalar, Eigen::Dynamic, Eigen::Dynamic > & | beta | ||
| ) |
Definition at line 142 of file categorical_logit_glm_lpmf.hpp.
| return_type_t<T_x_scalar, T_alpha_scalar, T_beta_scalar> stan::math::categorical_logit_glm_lpmf | ( | const T_y & | y, |
| const Eigen::Matrix< T_x_scalar, T_x_rows, Eigen::Dynamic > & | x, | ||
| const Eigen::Matrix< T_alpha_scalar, Eigen::Dynamic, 1 > & | alpha, | ||
| const Eigen::Matrix< T_beta_scalar, Eigen::Dynamic, Eigen::Dynamic > & | beta | ||
| ) |
Definition at line 188 of file categorical_logit_glm_lpmf.hpp.
| return_type_t<T_prob> stan::math::categorical_logit_lpmf | ( | int | n, |
| const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > & | beta | ||
| ) |
Definition at line 16 of file categorical_logit_lpmf.hpp.
|
inline |
Definition at line 33 of file categorical_logit_lpmf.hpp.
| return_type_t<T_prob> stan::math::categorical_logit_lpmf | ( | const std::vector< int > & | ns, |
| const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > & | beta | ||
| ) |
Definition at line 39 of file categorical_logit_lpmf.hpp.
|
inline |
Definition at line 67 of file categorical_logit_lpmf.hpp.
| return_type_t<T_prob> stan::math::categorical_lpmf | ( | int | n, |
| const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > & | theta | ||
| ) |
Definition at line 15 of file categorical_lpmf.hpp.
|
inline |
Definition at line 33 of file categorical_lpmf.hpp.
| return_type_t<T_prob> stan::math::categorical_lpmf | ( | const std::vector< int > & | ns, |
| const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > & | theta | ||
| ) |
Definition at line 41 of file categorical_lpmf.hpp.
|
inline |
Definition at line 76 of file categorical_lpmf.hpp.
|
inline |
Definition at line 14 of file categorical_rng.hpp.
|
inline |
Definition at line 115 of file cauchy_lpdf.hpp.
|
inline |
|
inline |
Returns the cube root of the specified variable (C99).
The derivative is
\(\frac{d}{dx} x^{1/3} = \frac{1}{3 x^{2/3}}\).
\[ \mbox{cbrt}(x) = \begin{cases} \sqrt[3]{x} & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{cbrt}(x)}{\partial x} = \begin{cases} \frac{1}{3x^{2/3}} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Specified variable. |
|
inline |
|
inline |
|
inline |
Return the ceiling of the specified variable (cmath).
The derivative of the ceiling function is defined and zero everywhere but at integers, and we set them to zero for convenience,
\(\frac{d}{dx} {\lceil x \rceil} = 0\).
The ceiling function rounds up. For double values, this is the smallest integral value that is not less than the specified value. Although this function is not differentiable because it is discontinuous at integral values, its gradient is returned as zero everywhere.
\[ \mbox{ceil}(x) = \begin{cases} \lceil x\rceil & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{ceil}(x)}{\partial x} = \begin{cases} 0 & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Input variable. |
|
inline |
Check if the hypergeometric function (2F1) called with supplied arguments will converge, assuming arguments are finite values.
| T_a1 | Type of a1 |
| T_a2 | Type of a2 |
| T_b1 | Type of b1 |
| T_z | Type of z |
| function | Name of function ultimately relying on 2F1 (for error messages) |
| a1 | Variable to check |
| a2 | Variable to check |
| b1 | Variable to check |
| z | Variable to check |
| <code>domain_error</code> | if 2F1(a1, a2, b1, z) does not meet convergence conditions, or if any coefficient is NaN. |
Definition at line 33 of file check_2F1_converges.hpp.
|
inline |
Check if the hypergeometric function (3F2) called with supplied arguments will converge, assuming arguments are finite values.
| T_a1 | Type of a1 |
| T_a2 | Type of a2 |
| T_a3 | Type of a3 |
| T_b1 | Type of b1 |
| T_b2 | Type of b2 |
| T_z | Type of z |
| function | Name of function ultimately relying on 3F2 (for error & messages) |
| a1 | Variable to check |
| a2 | Variable to check |
| a3 | Variable to check |
| b1 | Variable to check |
| b2 | Variable to check |
| z | Variable to check |
| <code>domain_error</code> | if 3F2(a1, a2, a3, b1, b2, z) does not meet convergence conditions, or if any coefficient is NaN. |
Definition at line 38 of file check_3F2_converges.hpp.
|
inline |
Check if the value is between the low and high values, inclusively.
| T_y | Type of value |
| T_low | Type of low value |
| T_high | Type of high value |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Value to check |
| low | Low bound |
| high | High bound |
| <code>std::domain_error</code> | otherwise. This also throws if any of the arguments are NaN. |
Definition at line 73 of file check_bounded.hpp.
|
inline |
Check if the specified matrix is a valid Cholesky factor.
A Cholesky factor is a lower triangular matrix whose diagonal elements are all positive. Note that Cholesky factors need not be square, but require at least as many rows M as columns N (i.e., M >= N).
| T_y | Type of elements of Cholesky factor |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Matrix to test |
| <code>std::domain_error</code> | if y is not a valid Cholesky factor, if number of rows is less than the number of columns, if there are 0 columns, or if any element in matrix is NaN |
Definition at line 28 of file check_cholesky_factor.hpp.
| void stan::math::check_cholesky_factor_corr | ( | const char * | function, |
| const char * | name, | ||
| const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > & | y | ||
| ) |
Check if the specified matrix is a valid Cholesky factor of a correlation matrix.
A Cholesky factor is a lower triangular matrix whose diagonal elements are all positive. Note that Cholesky factors need not be square, but require at least as many rows M as columns N (i.e., M >= N). Tolerance is specified by math::CONSTRAINT_TOLERANCE.
| T_y | Type of elements of Cholesky factor |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Matrix to test |
| <code>std::domain_error</code> | if y is not a valid Cholesky factor, if number of rows is less than the number of columns, if there are 0 columns, or if any element in matrix is NaN |
Definition at line 31 of file check_cholesky_factor_corr.hpp.
|
inline |
Check if the specified index is a valid column of the matrix.
By default this is a 1-indexed check (as opposed to 0-indexed). Behavior can be changed by setting stan::error_index::value. This function will throw an std::out_of_range exception if the index is out of bounds.
| T_y | Type of scalar |
| R | number of rows or Eigen::Dynamic |
| C | number of columns or Eigen::Dynamic |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | matrix to test |
| i | column index to check |
| <code>std::out_of_range</code> | if index is an invalid column |
Definition at line 30 of file check_column_index.hpp.
|
inline |
Check if the dimension of x is consistent, which is defined to be expected_size if x is a vector or 1 if x is not a vector.
| T | Type of value |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| x | Variable to check for consistent size |
| expected_size | Expected size if x is a vector |
| <code>invalid_argument</code> | if the size is inconsistent |
Definition at line 24 of file check_consistent_size.hpp.
|
inline |
Check if the dimension of x is consistent, which is defined to be expected_size if x is a vector of vectors or 1 if x is a single vector.
| T | Type of value |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| x | Variable to check for consistent size |
| expected_size | Expected size if x is a vector |
| <code>invalid_argument</code> | if the size is inconsistent |
Definition at line 26 of file check_consistent_size_mvt.hpp.
|
inline |
Check if the dimension of x1 is consistent with x2.
Consistent size is defined as having the same size if vector-like or being a scalar.
| T1 | Type of x1 |
| T2 | Type of x2 |
| function | Function name (for error messages) |
| name1 | Variable name (for error messages) |
| x1 | Variable to check for consistent size |
| name2 | Variable name (for error messages) |
| x2 | Variable to check for consistent size |
| <code>invalid_argument</code> | if sizes are inconsistent |
Definition at line 26 of file check_consistent_sizes.hpp.
|
inline |
Check if the dimension of x1, x2, and x3 are consistent.
Consistent size is defined as having the same size if vector-like or being a scalar.
| T1 | Type of x1 |
| T2 | Type of x2 |
| T3 | Type of x3 |
| function | Function name (for error messages) |
| name1 | Variable name (for error messages) |
| x1 | Variable to check for consistent size |
| name2 | Variable name (for error messages) |
| x2 | Variable to check for consistent size |
| name3 | Variable name (for error messages) |
| x3 | Variable to check for consistent size |
| <code>invalid_argument</code> | if sizes are inconsistent |
Definition at line 52 of file check_consistent_sizes.hpp.
|
inline |
Check if the dimension of x1, x2, x3, and x4 are consistent.
Consistent size is defined as having the same size if vector-like or being a scalar.
| T1 | Type of x1 |
| T2 | Type of x2 |
| T3 | Type of x3 |
| T4 | Type of x4 |
| function | Function name (for error messages) |
| name1 | Variable name (for error messages) |
| x1 | Variable to check for consistent size |
| name2 | Variable name (for error messages) |
| x2 | Variable to check for consistent size |
| name3 | Variable name (for error messages) |
| x3 | Variable to check for consistent size |
| name4 | Variable name (for error messages) |
| x4 | Variable to check for consistent size |
| <code>invalid_argument</code> | if sizes are inconsistent |
Definition at line 84 of file check_consistent_sizes.hpp.
|
inline |
Definition at line 100 of file check_consistent_sizes.hpp.
|
inline |
Check if the dimension of x1 is consistent with x2.
Consistent size is defined as having the same size if vector of vectors or being a single vector.
| T1 | Type of x1 |
| T2 | Type of x2 |
| function | Function name (for error messages) |
| name1 | Variable name (for error messages) |
| x1 | Variable to check for consistent size |
| name2 | Variable name (for error messages) |
| x2 | Variable to check for consistent size |
| <code>invalid_argument</code> | if sizes are inconsistent |
Definition at line 25 of file check_consistent_sizes_mvt.hpp.
|
inline |
Check if the specified matrix is a valid correlation matrix.
A valid correlation matrix is symmetric, has a unit diagonal (all 1 values), and has all values between -1 and 1 (inclusive). This function throws exceptions if the variable is not a valid correlation matrix.
| T_y | Type of scalar |
| function | Name of the function this was called from |
| name | Name of the variable |
| y | Matrix to test |
| <code>std::invalid_argument</code> | if the matrix is not square |
| <code>std::domain_error</code> | if the matrix is non-symmetric, diagonals not near 1, not positive definite, or any of the elements nan |
Definition at line 33 of file check_corr_matrix.hpp.
|
inline |
Check if the specified matrix is a valid covariance matrix.
A valid covariance matrix is a square, symmetric matrix that is positive definite.
| T | Type of scalar. |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Matrix to test |
| <code>std::invalid_argument</code> | if the matrix is not square or if the matrix is 0x0 |
| <code>std::domain_error</code> | if the matrix is not symmetric, if the matrix is not positive definite, or if any element of the matrix is nan |
Definition at line 25 of file check_cov_matrix.hpp.
|
inline |
Check if y is finite.
This function is vectorized and will check each element of y.
| T_y | Type of y |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Variable to check |
| <code>domain_error</code> | if y is infinity, -infinity, or NaN |
Definition at line 52 of file check_finite.hpp.
|
inline |
Throws an exception message when the function KINSol() (call to the solver) fails.
When the exception is caused by a tuning parameter the user controls, gives a specific error.
Definition at line 27 of file check_flag_sundials.hpp.
|
inline |
Throws an exception when a Sundial function fails (i.e.
returns a negative flag)
Definition at line 13 of file check_flag_sundials.hpp.
|
inline |
Check if y is strictly greater than low.
This function is vectorized and will check each element of y against each element of low.
| T_y | Type of y |
| T_low | Type of lower bound |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Variable to check |
| low | Lower bound |
| <code>domain_error</code> | if y is not greater than low or if any element of y or low is NaN. |
Definition at line 65 of file check_greater.hpp.
|
inline |
Check if y is greater or equal than low.
This function is vectorized and will check each element of y against each element of low.
| T_y | Type of y |
| T_low | Type of lower bound |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Variable to check |
| low | Lower bound |
| <code>domain_error</code> | if y is not greater or equal to low or if any element of y or low is NaN. |
Definition at line 64 of file check_greater_or_equal.hpp.
|
inline |
Raise domain error if the specified LDLT factor is invalid.
An LDLT_factor is invalid if it was constructed from a matrix that is not positive definite. The check is that the success() method returns true.
| T | type of scalar |
| R | number of rows or Eigen::Dynamic |
| C | number of columns or Eigen::Dynamic |
| [in] | function | name of function for error messages |
| [in] | name | variable name for error messages |
| [in] | A | the LDLT factor to check for validity |
| <code>std::domain_error</code> | if the LDLT factor is invalid |
Definition at line 27 of file check_ldlt_factor.hpp.
|
inline |
Check if y is strictly less than high.
This function is vectorized and will check each element of y against each element of high.
| T_y | Type of y |
| T_high | Type of upper bound |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Variable to check |
| high | Upper bound |
| <code>domain_error</code> | if y is not less than low or if any element of y or high is NaN. |
Definition at line 65 of file check_less.hpp.
|
inline |
Check if y is less or equal to high.
This function is vectorized and will check each element of y against each element of high.
| T_y | Type of y |
| T_high | Type of upper bound |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Variable to check |
| high | Upper bound |
| <code>std::domain_error</code> | if y is not less than or equal to low or if any element of y or high is NaN |
Definition at line 64 of file check_less_or_equal.hpp.
|
inline |
Check if the specified matrix is lower triangular.
A matrix x is not lower triangular if there is a non-zero entry x[m, n] with m < n. This function only inspects the upper triangular portion of the matrix, not including the diagonal.
| T | Type of scalar of the matrix |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Matrix to test |
| <code>std::domain_error</code> | if the matrix is not lower triangular or if any element in the upper triangular portion is NaN |
Definition at line 27 of file check_lower_triangular.hpp.
|
inline |
Check if the two matrices are of the same size.
This function checks the runtime sizes only.
| T1 | scalar type of the first matrix |
| T2 | scalar type of the second matrix |
| R1 | number of rows in the first matrix, can be Eigen::Dynamic |
| C1 | number of columns in the first matrix, can be Eigen::Dynamic |
| R2 | number of rows in the second matrix, can be Eigen::Dynamic |
| C2 | number of columns in the second matrix, can be Eigen::Dynamic |
| function | name of function (for error messages) |
| name1 | variable name for the first matrix (for error messages) |
| y1 | first matrix to test |
| name2 | variable name for the second matrix (for error messages) |
| y2 | second matrix to test |
| <code>std::invalid_argument</code> | if the dimensions of the matrices do not match |
Definition at line 32 of file check_matching_dims.hpp.
|
inline |
Check if the two matrices are of the same size.
This function checks the runtime sizes and can also check the static sizes as well. For example, a 4x1 matrix is not the same as a vector with 4 elements.
| check_compile | Whether to check the static sizes |
| T1 | scalar type of the first matrix |
| T2 | scalar type of the second matrix |
| R1 | number of rows in the first matrix, can be Eigen::Dynamic |
| C1 | number of columns in the first matrix, can be Eigen::Dynamic |
| R2 | number of rows in the second matrix, can be Eigen::Dynamic |
| C2 | number of columns in the second matrix, can be Eigen::Dynamic |
| function | name of function (for error messages) |
| name1 | variable name for the first matrix (for error messages) |
| y1 | first matrix to test |
| name2 | variable name for the second matrix (for error messages) |
| y2 | second matrix to test |
| <code>std::invalid_argument</code> | if the dimensions of the matrices do not match |
Definition at line 64 of file check_matching_dims.hpp.
|
inline |
Check if two structures at the same size.
This function only checks the runtime sizes for variables that implement a size() method.
| T_y1 | Type of the first variable |
| T_y2 | Type of the second variable |
| function | Function name (for error messages) |
| name1 | First variable name (for error messages) |
| y1 | First variable |
| name2 | Second variable name (for error messages) |
| y2 | Second variable |
| <code>std::invalid_argument</code> | if the sizes do not match |
Definition at line 24 of file check_matching_sizes.hpp.
|
inline |
Check if the matrices can be multiplied.
This checks the runtime sizes to determine whether the two matrices are multiplicable. This allows Eigen matrices, vectors, and row vectors to be checked.
| T1 | Type of first matrix |
| T2 | Type of second matrix |
| function | Function name (for error messages) |
| name1 | Variable name for the first matrix (for error messages) |
| y1 | First matrix to test, requires class access to .rows() and .cols() |
| name2 | Variable name for the second matrix (for error messages) |
| y2 | Second matrix to test, requires class access to .rows() and .cols() |
| <code>std::invalid_argument</code> | if the matrices are not multiplicable or if either matrix is size 0 for either rows or columns |
Definition at line 30 of file check_multiplicable.hpp.
|
inline |
Check if the specified matrix is not empty.
This check does not allow 0x0 matrices.
| T | Type of scalar |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Matrix to test |
| <code>std::invalid_argument</code> | if the matrix is empty |
Definition at line 22 of file check_nonempty.hpp.
|
inline |
Check if y is non-negative.
This function is vectorized and will check each element of y.
| T_y | Type of y |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Variable to check |
| <code>domain_error</code> | if y is negative or if any element of y is NaN. |
Definition at line 51 of file check_nonnegative.hpp.
|
inline |
Check if the specified matrix/vector is of non-zero size.
Throws a std:invalid_argument otherwise. The message will indicate that the variable name "has size 0".
| T_y | Type of container |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Container to test. This will accept matrices and vectors |
| <code>std::invalid_argument</code> | if the specified matrix/vector has zero size |
Definition at line 22 of file check_nonzero_size.hpp.
|
inline |
Check if y is not NaN.
This function is vectorized and will check each element of y. If any element is NaN, this function will throw an exception.
| T_y | Type of y |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Variable to check |
| <code>domain_error</code> | if any element of y is NaN |
Definition at line 50 of file check_not_nan.hpp.
| void stan::math::check_ordered | ( | const char * | function, |
| const char * | name, | ||
| const Eigen::Matrix< T_y, Eigen::Dynamic, 1 > & | y | ||
| ) |
Check if the specified vector is sorted into strictly increasing order.
| T_y | Type of scalar |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Vector to test |
| <code>std::domain_error</code> | if the vector elements are not ordered, if there are duplicated values, or if any element is NaN. |
Definition at line 25 of file check_ordered.hpp.
| void stan::math::check_ordered | ( | const char * | function, |
| const char * | name, | ||
| const std::vector< T_y > & | y | ||
| ) |
Check if the specified vector is sorted into strictly increasing order.
| T_y | Type of scalar |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | std::vector to test |
| <code>std::domain_error</code> | if the vector elements are not ordered, if there are duplicated values, or if any element is NaN. |
Definition at line 55 of file check_ordered.hpp.
|
inline |
Check if the specified square, symmetric matrix is positive definite.
| T_y | Type of scalar of the matrix |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Matrix to test |
| <code>std::invalid_argument</code> | if the matrix is not square or if the matrix has 0 size. |
| <code>std::domain_error</code> | if the matrix is not symmetric, if it is not positive definite, or if any element is NaN |
Definition at line 28 of file check_pos_definite.hpp.
|
inline |
Check if the specified LDLT transform of a matrix is positive definite.
| Derived | Derived type of the Eigen::LDLT transform. |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| cholesky | Eigen::LDLT to test, whose progenitor must not have any NaN elements |
| <code>std::domain_error</code> | if the matrix is not positive definite |
Definition at line 56 of file check_pos_definite.hpp.
|
inline |
Check if the specified LLT decomposition transform resulted in Eigen::Success
| Derived | Derived type of the Eigen::LLT transform. |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| cholesky | Eigen::LLT to test, whose progenitor must not have any NaN elements |
| <code>std::domain_error</code> | if the diagonal of the L matrix is not positive |
Definition at line 76 of file check_pos_definite.hpp.
|
inline |
Check if the specified matrix is positive definite.
| T_y | scalar type of the matrix |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Matrix to test |
| <code>std::invalid_argument</code> | if the matrix is not square or if the matrix has 0 size. |
| <code>std::domain_error</code> | if the matrix is not symmetric, or if it is not positive semi-definite, or if any element of the matrix is NaN. |
Definition at line 29 of file check_pos_semidefinite.hpp.
|
inline |
Check if the specified matrix is positive semidefinite.
| Derived | Derived type of the Eigen::LDLT transform. |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| cholesky | Eigen::LDLT to test |
| <code>std::domain_error</code> | if the matrix is not positive semi-definite. |
Definition at line 61 of file check_pos_semidefinite.hpp.
|
inline |
Check if y is positive.
This function is vectorized and will check each element of y.
| T_y | Type of y |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Variable to check |
| <code>domain_error</code> | if y is negative or zero or if any element of y is NaN |
Definition at line 56 of file check_positive.hpp.
|
inline |
Check if size is positive.
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| expr | Expression for the dimension size (for error messages) |
| size | Size value to check |
| <code>std::invalid_argument</code> | if size is zero or negative. |
Definition at line 70 of file check_positive.hpp.
|
inline |
Check if y is positive and finite.
This function is vectorized and will check each element of y.
| T_y | Type of y |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Variable to check |
| <code>domain_error</code> | if any element of y is not positive or if any element of y is NaN. |
Definition at line 23 of file check_positive_finite.hpp.
| void stan::math::check_positive_ordered | ( | const char * | function, |
| const char * | name, | ||
| const Eigen::Matrix< T_y, Eigen::Dynamic, 1 > & | y | ||
| ) |
Check if the specified vector contains non-negative values and is sorted into strictly increasing order.
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Vector to test |
| <code>std::domain_error</code> | if the vector contains non-positive values, if the values are not ordered, if there are duplicated values, or if any element is NaN. |
Definition at line 25 of file check_positive_ordered.hpp.
|
inline |
Check if specified index is within range.
This check is 1-indexed by default. This behavior can be changed by setting stan::error_index::value.
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| max | Maximum size of the variable |
| index | Index to check |
| nested_level | Nested level (for error messages) |
| error_msg | Additional error message (for error messages) |
| <code>std::out_of_range</code> | if the index is not in range |
Definition at line 24 of file check_range.hpp.
|
inline |
Check if specified index is within range.
This check is 1-indexed by default. This behavior can be changed by setting stan::error_index::value.
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| max | Maximum size of the variable |
| index | Index to check |
| error_msg | Additional error message (for error messages) |
| <code>std::out_of_range</code> | if the index is not in range |
Definition at line 49 of file check_range.hpp.
|
inline |
Check if specified index is within range.
This check is 1-indexed by default. This behavior can be changed by setting stan::error_index::value.
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| max | Maximum size of the variable |
| index | Index to check |
| <code>std::out_of_range</code> | if the index is not in range |
Definition at line 69 of file check_range.hpp.
|
inline |
Check if the specified index is a valid row of the matrix This check is 1-indexed by default.
This behavior can be changed by setting stan::error_index::value.
| T | Scalar type |
| R | number of rows or Eigen::Dynamic |
| C | number of columns or Eigen::Dynamic |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | matrix to test |
| i | row index to check |
| <code>std::out_of_range</code> | if the index is out of range. |
Definition at line 27 of file check_row_index.hpp.
| void stan::math::check_simplex | ( | const char * | function, |
| const char * | name, | ||
| const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > & | theta | ||
| ) |
Check if the specified vector is simplex.
To be a simplex, all values must be greater than or equal to 0 and the values must sum to 1. A valid simplex is one where the sum of the elements is equal to 1. This function tests that the sum is within the tolerance specified by CONSTRAINT_TOLERANCE. This function only accepts Eigen vectors, statically typed vectors, not general matrices with 1 column.
| T_prob | Scalar type of the vector |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| theta | Vector to test. |
| <code>std::invalid_argument</code> | if theta is a 0-vector. |
| <code>std::domain_error</code> | if the vector is not a simplex or if any element is NaN. |
Definition at line 34 of file check_simplex.hpp.
|
inline |
Check if the provided sizes match.
| T_size1 | Type of size 1 |
| T_size2 | Type of size 2 |
| function | Function name (for error messages) |
| name_i | Variable name 1 (for error messages) |
| i | Variable size 1 |
| name_j | Variable name 2 (for error messages) |
| j | Variable size 2 |
| <code>std::invalid_argument</code> | if the sizes do not match |
Definition at line 24 of file check_size_match.hpp.
|
inline |
Check if the provided sizes match.
| T_size1 | Type of size 1 |
| T_size2 | Type of size 2 |
| function | Function name (for error messages) |
| expr_i | Expression for variable name 1 (for error messages) |
| name_i | Variable name 1 (for error messages) |
| i | Variable size 1 |
| expr_j | Expression for variable name 2 (for error messages) |
| name_j | Variable name 2 (for error messages) |
| j | Variable size 2 |
| <code>std::invalid_argument</code> | if the sizes do not match |
Definition at line 50 of file check_size_match.hpp.
|
inline |
Check if the specified matrix is square.
This check allows 0x0 matrices.
| T | Type of scalar |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Matrix to test |
| <code>std::invalid_argument</code> | if the matrix is not square |
Definition at line 21 of file check_square.hpp.
|
inline |
Check if the specified index is valid in std vector This check is 1-indexed by default.
This behavior can be changed by setting stan::error_index::value.
| T | Scalar type |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | std::vector to test |
| i | Index |
| <code>std::out_of_range</code> | if the index is out of range. |
Definition at line 26 of file check_std_vector_index.hpp.
|
inline |
Check if the specified matrix is symmetric.
The error message is either 0 or 1 indexed, specified by stan::error_index::value.
| T_y | Type of scalar |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| y | Matrix to test |
| <code>std::invalid_argument</code> | if the matrix is not square. |
| <code>std::domain_error</code> | if any element not on the main diagonal is NaN |
Definition at line 31 of file check_symmetric.hpp.
| void stan::math::check_unit_vector | ( | const char * | function, |
| const char * | name, | ||
| const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > & | theta | ||
| ) |
Check if the specified vector is unit vector.
A valid unit vector is one where the square of the elements summed is equal to 1. This function tests that the sum is within the tolerance specified by CONSTRAINT_TOLERANCE. This function only accepts Eigen vectors, statically typed vectors, not general matrices with 1 column.
| T_prob | Scalar type of the vector |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| theta | Vector to test |
| <code>std::invalid_argument</code> | if theta is a 0-vector |
| <code>std::domain_error</code> | if the vector is not a unit vector or if any element is NaN |
Definition at line 34 of file check_unit_vector.hpp.
|
inline |
Check if the matrix is either a row vector or column vector.
This function checks the runtime size of the matrix to check whether it is a row or column vector.
| T | Scalar type of the matrix |
| R | number of rows or Eigen::Dynamic |
| C | number of columns or Eigen::Dynamic |
| function | Function name (for error messages) |
| name | Variable name (for error messages) |
| x | Matrix |
| <code>std::invalid_argument</code> | if x is not a row or column vector. |
Definition at line 28 of file check_vector.hpp.
|
inline |
Definition at line 127 of file chi_square_lpdf.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::chol2inv | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | L | ) |
Returns the inverse of the matrix whose Cholesky factor is L.
| T | type of elements in the matrix |
| L | Matrix that is a Cholesky factor. |
| std::domain_error | If the input matrix is not square or lower triangular |
Definition at line 24 of file chol2inv.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::cholesky_corr_constrain | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | y, |
| int | K | ||
| ) |
Definition at line 15 of file cholesky_corr_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::cholesky_corr_constrain | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | y, |
| int | K, | ||
| T & | lp | ||
| ) |
Definition at line 48 of file cholesky_corr_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::cholesky_corr_free | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | x | ) |
Definition at line 14 of file cholesky_corr_free.hpp.
|
inline |
Returns the lower-triangular Cholesky factor (i.e., matrix square root) of the specified square, symmetric matrix on the OpenCL device.
The return value \(L\) will be a lower-triangular matrix such that the original matrix \(A\) is given by
\(A = L \times L^T\).
| A | Input square matrix |
| std::domain_error | if m is not a symmetric matrix or if m is not positive definite (if m has more than 0 elements) |
Definition at line 26 of file cholesky_decompose.hpp.
|
inline |
Return the lower-triangular Cholesky factor (i.e., matrix square root) of the specified square, symmetric matrix.
The return value \(L\) will be a lower-triangular matrix such that the original matrix \(A\) is given by
\(A = L \times L^T\).
| T | type of elements in the matrix |
| m | Symmetrix matrix. |
cholesky_decompose functions. One that works on doubles and another that works on all other types (this one). | std::domain_error | if m is not a symmetric matrix or if m is not positive definite (if m has more than 0 elements) |
Definition at line 32 of file cholesky_decompose.hpp.
|
inline |
Return the lower-triangular Cholesky factor (i.e., matrix square root) of the specified square, symmetric matrix.
The return value \(L\) will be a lower-triangular matrix such that the original matrix \(A\) is given by
\(A = L \times L^T\).
| m | Symmetrix matrix. |
cholesky_decompose functions. One that works on doubles (this one) and another that works on all other types. | std::domain_error | if m is not a symmetric matrix or if m is not positive definite (if m has more than 0 elements) |
Definition at line 57 of file cholesky_decompose.hpp.
|
inline |
Reverse mode specialization of Cholesky decomposition.
Internally calls Eigen::LLT rather than using stan::math::cholesky_decompose in order to use an inplace decomposition.
Note chainable stack varis are created below in Matrix<var, -1, -1>
| A | Matrix |
Definition at line 377 of file cholesky_decompose.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::cholesky_factor_constrain | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, |
| int | M, | ||
| int | N | ||
| ) |
Return the Cholesky factor of the specified size read from the specified vector.
A total of (N choose 2) + N + (M - N) * N elements are required to read an M by N Cholesky factor.
| T | type of elements in the matrix |
| x | Vector of unconstrained values |
| M | Number of rows |
| N | Number of columns |
Definition at line 26 of file cholesky_factor_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::cholesky_factor_constrain | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, |
| int | M, | ||
| int | N, | ||
| T & | lp | ||
| ) |
Return the Cholesky factor of the specified size read from the specified vector and increment the specified log probability reference with the log Jacobian adjustment of the transform.
A total of (N choose 2) + N + N * (M - N) free parameters are required to read an M by N Cholesky factor.
| T | type of elements in the matrix |
| x | Vector of unconstrained values |
| M | Number of rows |
| N | Number of columns |
| lp | Log probability that is incremented with the log Jacobian |
Definition at line 72 of file cholesky_factor_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::cholesky_factor_free | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | y | ) |
Return the unconstrained vector of parameters correspdonding to the specified Cholesky factor.
A Cholesky factor must be lower triangular and have positive diagonal elements.
| T | type of elements in the Cholesky factor |
| y | Cholesky factor. |
| std::domain_error | If the matrix is not a Cholesky factor. |
Definition at line 23 of file cholesky_factor_free.hpp.
|
inline |
Return the binomial coefficient for the specified integer arguments.
The binomial coefficient, \({n \choose k}\), read "n choose k", is defined for \(0 \leq k \leq n\) (otherwise return 0) by
\({n \choose k} = \frac{n!}{k! (n-k)!}\).
| n | total number of objects |
| k | number of objects chosen |
| std::domain_error | if either argument is negative or the result will not fit in an int type |
Definition at line 28 of file choose.hpp.
|
inline |
Return the specified column of the specified matrix using start-at-1 indexing.
This is equivalent to calling m.col(i - 1) and assigning the resulting template expression to a column vector.
| T | type of elements in the matrix |
| m | Matrix. |
| j | Column index (count from 1). |
| std::out_of_range | if j is out of range. |
|
inline |
Return the number of columns in the specified matrix, vector, or row vector.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | m | Input matrix, vector, or row vector. |
|
inline |
Definition at line 13 of file columns_dot_product.hpp.
|
inline |
Definition at line 19 of file columns_dot_product.hpp.
|
inline |
Returns the dot product of the specified vectors.
| R1 | number of rows, can be Eigen::Dynamic |
| C1 | number of columns, can be Eigen::Dynamic |
| R2 | number of rows, can be Eigen::Dynamic |
| C2 | number of columns, can be Eigen::Dynamic |
| v1 | First vector. |
| v2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 25 of file columns_dot_product.hpp.
|
inline |
Definition at line 27 of file columns_dot_product.hpp.
|
inline |
Definition at line 41 of file columns_dot_product.hpp.
|
inline |
Definition at line 12 of file columns_dot_self.hpp.
|
inline |
Returns the dot product of each column of a matrix with itself.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| x | Matrix. |
Definition at line 21 of file columns_dot_self.hpp.
|
inline |
Returns the dot product of each column of a matrix with itself.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| x | Matrix. |
Definition at line 21 of file columns_dot_self.hpp.
|
inline |
Return the negation of the first argument if the first and second argument have different signs, otherwise return a copy of the first argument.
For the sake of this function, zero is considered positive. This function uses negation rather than literally copying signs to preserve derivatives.
Overload of std::copysign from cmath for argument-dependent lookup.
| ADType | type of first argument |
| U | type of second argument |
| [in] | x | first complex argument |
| [in] | y | second complex argument |
Definition at line 27 of file copysign.hpp.
|
inline |
Return the result of transforming the specified scalar to have a valid correlation value between -1 and 1 (inclusive).
The transform used is the hyperbolic tangent function,
\(f(x) = \tanh x = \frac{\exp(2x) - 1}{\exp(2x) + 1}\).
| T | type of value |
| [in] | x | value |
Definition at line 25 of file corr_constrain.hpp.
|
inline |
Return the result of transforming the specified scalar to have a valid correlation value between -1 and 1 (inclusive).
The transform used is as specified for corr_constrain(T). The log absolute Jacobian determinant is
\(\log | \frac{d}{dx} \tanh x | = \log (1 - \tanh^2 x)\).
| T | Type of scalar. |
| [in] | x | value |
| [in,out] | lp | log density accumulator |
Definition at line 45 of file corr_constrain.hpp.
|
inline |
Return the unconstrained scalar that when transformed to a valid correlation produces the specified value.
This function inverts the transform defined for corr_constrain(T), which is the inverse hyperbolic tangent,
\( f^{-1}(y) = \mbox{atanh}\, y = \frac{1}{2} \log \frac{y + 1}{y - 1}\).
| T | Type of correlation |
| [in] | y | correlation |
Definition at line 28 of file corr_free.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::corr_matrix_constrain | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, |
| math::index_type_t< Eigen::Matrix< T, Eigen::Dynamic, 1 >> | k | ||
| ) |
Return the correlation matrix of the specified dimensionality derived from the specified vector of unconstrained values.
The input vector must be of length \({k \choose 2} = \frac{k(k-1)}{2}\). The values in the input vector represent unconstrained (partial) correlations among the dimensions.
The transform based on partial correlations is as specified in
The free vector entries are first constrained to be valid correlation values using corr_constrain(T).
| T | type of scalar |
| x | Vector of unconstrained partial correlations. |
| k | Dimensionality of returned correlation matrix. |
| std::invalid_argument | if x is not a valid correlation matrix. |
Definition at line 39 of file corr_matrix_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::corr_matrix_constrain | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, |
| math::index_type_t< Eigen::Matrix< T, Eigen::Dynamic, 1 >> | k, | ||
| T & | lp | ||
| ) |
Return the correlation matrix of the specified dimensionality derived from the specified vector of unconstrained values.
The input vector must be of length \({k \choose 2} = \frac{k(k-1)}{2}\). The values in the input vector represent unconstrained (partial) correlations among the dimensions.
The transform is as specified for corr_matrix_constrain(Matrix, size_t); the paper it cites also defines the Jacobians for correlation inputs, which are composed with the correlation constrained Jacobians defined in corr_constrain(T, double) for this function.
| T | type of scalar |
| x | Vector of unconstrained partial correlations. |
| k | Dimensionality of returned correlation matrix. |
| lp | Log probability reference to increment. |
Definition at line 74 of file corr_matrix_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::corr_matrix_free | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | y | ) |
Return the vector of unconstrained partial correlations that define the specified correlation matrix when transformed.
The constraining transform is defined as for corr_matrix_constrain(Matrix, size_t). The inverse transform in this function is simpler in that it only needs to compute the \(k \choose 2\) partial correlations and then free those.
| T | type of scalar |
| y | The correlation matrix to free. |
| std::domain_error | if the correlation matrix has no elements or is not a square matrix. |
| std::runtime_error | if the correlation matrix cannot be factorized by factor_cov_matrix() or if the sds returned by factor_cov_matrix() on log scale are unconstrained. |
Definition at line 34 of file corr_matrix_free.hpp.
|
inline |
Return the cosine of a radian-scaled variable (cmath).
The derivative is defined by
\(\frac{d}{dx} \cos x = - \sin x\).
\[ \mbox{cos}(x) = \begin{cases} \cos(x) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{cos}(x)}{\partial x} = \begin{cases} -\sin(x) & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Variable for radians of angle. |
|
inline |
|
inline |
Return the hyperbolic cosine of the specified variable (cmath).
The derivative is defined by
\(\frac{d}{dx} \cosh x = \sinh x\).
\[ \mbox{cosh}(x) = \begin{cases} \cosh(x) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{cosh}(x)}{\partial x} = \begin{cases} \sinh(x) & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Variable. |
|
inline |
|
inline |
gp_exp_quad_cov Definition at line 20 of file cov_exp_quad.hpp.
|
inline |
gp_exp_quad_cov Definition at line 31 of file cov_exp_quad.hpp.
|
inline |
gp_exp_quad_cov Definition at line 42 of file cov_exp_quad.hpp.
|
inline |
gp_exp_quad_cov Definition at line 53 of file cov_exp_quad.hpp.
|
inline |
Definition at line 154 of file cov_exp_quad.hpp.
|
inline |
Definition at line 164 of file cov_exp_quad.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::cov_matrix_constrain | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, |
| typename math::index_type< Eigen::Matrix< T, Eigen::Dynamic, 1 >>::type | K | ||
| ) |
Return the symmetric, positive-definite matrix of dimensions K by K resulting from transforming the specified finite vector of size K plus (K choose 2).
See cov_matrix_free() for the inverse transform.
| T | type of elements in the vector |
| x | The vector to convert to a covariance matrix. |
| K | The number of rows and columns of the resulting covariance matrix. |
| std::invalid_argument | if (x.size() != K + (K choose 2)). |
Definition at line 28 of file cov_matrix_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::cov_matrix_constrain | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, |
| typename math::index_type< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic >>::type | K, | ||
| T & | lp | ||
| ) |
Return the symmetric, positive-definite matrix of dimensions K by K resulting from transforming the specified finite vector of size K plus (K choose 2).
See cov_matrix_free() for the inverse transform.
| T | type of elements in the vector |
| x | The vector to convert to a covariance matrix. |
| K | The dimensions of the resulting covariance matrix. |
| lp | Reference |
| std::domain_error | if (x.size() != K + (K choose 2)). |
Definition at line 66 of file cov_matrix_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::cov_matrix_constrain_lkj | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, |
| size_t | k | ||
| ) |
Return the covariance matrix of the specified dimensionality derived from constraining the specified vector of unconstrained values.
The input vector must be of length \(k \choose 2 + k\). The first \(k \choose 2\) values in the input represent unconstrained (partial) correlations and the last \(k\) are unconstrained standard deviations of the dimensions.
The transform scales the correlation matrix transform defined in corr_matrix_constrain(Matrix, size_t) with the constrained deviations.
| T | type of elements in the vector |
| x | Input vector of unconstrained partial correlations and standard deviations. |
| k | Dimensionality of returned covariance matrix. |
Definition at line 32 of file cov_matrix_constrain_lkj.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::cov_matrix_constrain_lkj | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, |
| size_t | k, | ||
| T & | lp | ||
| ) |
Return the covariance matrix of the specified dimensionality derived from constraining the specified vector of unconstrained values and increment the specified log probability reference with the log absolute Jacobian determinant.
The transform is defined as for cov_matrix_constrain(Matrix, size_t).
The log absolute Jacobian determinant is derived by composing the log absolute Jacobian determinant for the underlying correlation matrix as defined in cov_matrix_constrain(Matrix, size_t, T&) with the Jacobian of the transform of the correlation matrix into a covariance matrix by scaling by standard deviations.
| T | type of elements in the vector |
| x | Input vector of unconstrained partial correlations and standard deviations. |
| k | Dimensionality of returned covariance matrix. |
| lp | Log probability reference to increment. |
Definition at line 72 of file cov_matrix_constrain_lkj.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::cov_matrix_free | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | y | ) |
The covariance matrix derived from the symmetric view of the lower-triangular view of the K by K specified matrix is freed to return a vector of size K + (K choose 2).
This is the inverse of the cov_matrix_constrain() function so that for any finite vector x of size K
x == cov_matrix_free(cov_matrix_constrain(x, K)).
In order for this round-trip to work (and really for this function to work), the symmetric view of its lower-triangular view must be positive definite.
| T | type of elements in the matrix |
| y | Matrix of dimensions K by K such that he symmetric view of the lower-triangular view is positive definite. |
| std::domain_error | if y is not square, has zero dimensionality, or has a non-positive diagonal element. |
Definition at line 36 of file cov_matrix_free.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::cov_matrix_free_lkj | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | y | ) |
Return the vector of unconstrained partial correlations and deviations that transform to the specified covariance matrix.
The constraining transform is defined as for cov_matrix_constrain(Matrix, size_t). The inverse first factors out the deviations, then applies the freeing transform of corr_matrix_free(Matrix&).
| T | type of elements in the matrix |
| y | Covariance matrix to free. |
| std::domain_error | if the correlation matrix has no elements or is not a square matrix. |
| std::runtime_error | if the correlation matrix cannot be factorized by factor_cov_matrix() |
Definition at line 30 of file cov_matrix_free_lkj.hpp.
|
inline |
Definition at line 12 of file crossprod.hpp.
Returns the result of pre-multiplying a matrix by its own transpose.
| M | Matrix to multiply. |
Definition at line 17 of file crossprod.hpp.
Returns the result of pre-multiplying a matrix by its own transpose.
| M | Matrix to multiply. |
Definition at line 17 of file crossprod.hpp.
|
inline |
Definition at line 74 of file csr_matrix_times_vector.hpp.
|
inline |
Return the cumulative sum of the specified vector.
The cumulative sum of a vector of values
| T | type of elements in the vector |
| x | Vector of values. |
Definition at line 24 of file cumulative_sum.hpp.
|
inline |
Return the cumulative sum of the specified matrix.
The cumulative sum is of the same type as the input and has values defined by
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | Matrix of values. |
Definition at line 49 of file cumulative_sum.hpp.
|
inline |
Definition at line 20 of file cvodes_utils.hpp.
|
inline |
Definition at line 15 of file cvodes_utils.hpp.
| void stan::math::derivative | ( | const F & | f, |
| const T & | x, | ||
| T & | fx, | ||
| T & | dfx_dx | ||
| ) |
Return the derivative of the specified univariate function at the specified argument.
| T | Argument type |
| F | Function type |
| [in] | f | Function |
| [in] | x | Argument |
| [out] | fx | Value of function applied to argument |
| [out] | dfx_dx | Value of derivative |
Definition at line 24 of file derivative.hpp.
|
inline |
Definition at line 12 of file determinant.hpp.
|
inline |
Returns the determinant of the specified square matrix.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | Specified matrix. |
| std::domain_error | if matrix is not square. |
Definition at line 22 of file determinant.hpp.
Definition at line 48 of file determinant.hpp.
|
inline |
Return a square diagonal matrix with the specified vector of coefficients as the diagonal values.
| T | type of elements in the vector |
| [in] | v | Specified vector. |
Definition at line 18 of file diag_matrix.hpp.
| Eigen::Matrix<return_type_t<T1, T2>, R1, C1> stan::math::diag_post_multiply | ( | const Eigen::Matrix< T1, R1, C1 > & | m1, |
| const Eigen::Matrix< T2, R2, C2 > & | m2 | ||
| ) |
Definition at line 11 of file diag_post_multiply.hpp.
| Eigen::Matrix<return_type_t<T1, T2>, R2, C2> stan::math::diag_pre_multiply | ( | const Eigen::Matrix< T1, R1, C1 > & | m1, |
| const Eigen::Matrix< T2, R2, C2 > & | m2 | ||
| ) |
Definition at line 11 of file diag_pre_multiply.hpp.
|
inline |
Return a column vector of the diagonal elements of the specified matrix.
The matrix is not required to be square.
| T | type of elements in the matrix |
| m | Specified matrix. |
Definition at line 18 of file diagonal.hpp.
Definition at line 20 of file digamma.hpp.
Return the derivative of the log gamma function at the specified argument.
| T | inner type of the fvar |
| [in] | x | argument |
Definition at line 23 of file digamma.hpp.
|
inline |
Return the derivative of the log gamma function at the specified value.
\[ \mbox{digamma}(x) = \begin{cases} \textrm{error} & \mbox{if } x\in \{\dots, -3, -2, -1, 0\}\\ \Psi(x) & \mbox{if } x\not\in \{\dots, -3, -2, -1, 0\}\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{digamma}(x)}{\partial x} = \begin{cases} \textrm{error} & \mbox{if } x\in \{\dots, -3, -2, -1, 0\}\\ \frac{\partial\, \Psi(x)}{\partial x} & \mbox{if } x\not\in \{\dots, -3, -2, -1, 0\}\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \Psi(x)=\frac{\Gamma'(x)}{\Gamma(x)} \]
\[ \frac{\partial \, \Psi(x)}{\partial x} = \frac{\Gamma''(x)\Gamma(x)-(\Gamma'(x))^2}{\Gamma^2(x)} \]
The design follows the standard C++ library in returning NaN rather than throwing exceptions.
| [in] | x | argument |
Definition at line 46 of file digamma.hpp.
|
inline |
Vectorized version of digamma().
| T | type of container |
| x | container |
| std::domain_error | if any value is a negative integer or 0 |
Definition at line 74 of file digamma.hpp.
|
inline |
|
inline |
|
inline |
|
inline |
| return_type_t<T_prob, T_prior_size> stan::math::dirichlet_lpdf | ( | const T_prob & | theta, |
| const T_prior_size & | alpha | ||
| ) |
Definition at line 117 of file dirichlet_lpdf.hpp.
| return_type_t<T_prob, T_prior_size> stan::math::dirichlet_lpmf | ( | const T_prob & | theta, |
| const T_prior_size & | alpha | ||
| ) |
Definition at line 20 of file dirichlet_lpmf.hpp.
|
inline |
Returns the distance between two scalars.
| x1 | First scalar. |
| x2 | Second scalar. |
| std::domain_error | If the arguments are not finite. |
Definition at line 23 of file distance.hpp.
|
inline |
Returns the distance between the specified vectors.
| T1 | type of elements in first vector |
| T2 | type of elements in second vector |
| v1 | First vector. |
| v2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 41 of file distance.hpp.
|
inline |
Definition at line 11 of file divide.hpp.
|
inline |
Definition at line 20 of file divide.hpp.
|
inline |
Return the division of the first scalar by the second scalar.
| [in] | x | Specified vector. |
| [in] | y | Specified scalar. |
Definition at line 22 of file divide.hpp.
|
inline |
Definition at line 26 of file divide.hpp.
|
inline |
Definition at line 29 of file divide.hpp.
|
inline |
Return matrix divided by scalar.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| T1 | type of elements in the matrix |
| T2 | type of scalar |
| [in] | m | specified matrix |
| [in] | c | specified scalar |
Definition at line 46 of file divide.hpp.
|
inline |
Return matrix divided by scalar.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | m | specified matrix |
| [in] | c | specified scalar |
Definition at line 125 of file divide.hpp.
|
inline |
Return matrix divided by scalar.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | m | specified matrix |
| [in] | c | specified scalar |
Definition at line 145 of file divide.hpp.
|
inline |
Return matrix divided by scalar.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | m | specified matrix |
| [in] | c | specified scalar |
Definition at line 165 of file divide.hpp.
|
inline |
Takes Stan data type vector[n] x[D] and divides column vector in x element-wise by the values in vec.
| T_x | Type of dividend |
| T_v | Scalar type of divisor |
| x | std::vector of matrices |
| vec | std::vector of divisors |
| std::invalid | argument if D != length of vector |
Definition at line 26 of file divide_columns.hpp.
| return_type_t<double, T_shape> stan::math::do_lkj_constant | ( | const T_shape & | eta, |
| const unsigned int & | K | ||
| ) |
Definition at line 15 of file lkj_corr_lpdf.hpp.
|
inline |
throw_domain_error Definition at line 14 of file domain_error.hpp.
|
inline |
throw_domain_error Definition at line 23 of file domain_error.hpp.
|
inline |
throw_domain_error_vec Definition at line 13 of file domain_error_vec.hpp.
|
inline |
throw_domain_error_vec Definition at line 22 of file domain_error_vec.hpp.
|
inline |
|
inline |
Definition at line 13 of file dot_product.hpp.
|
inline |
Returns the dot product of the specified vectors.
| R1 | number of rows in the first vector, can be Eigen::Dynamic |
| C1 | number of columns in the first vector, can be Eigen::Dynamic |
| R2 | number of rows in the second vector, can be Eigen::Dynamic |
| C2 | number of columns in the second vector, can be Eigen::Dynamic |
| v1 | First vector. |
| v2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 26 of file dot_product.hpp.
|
inline |
Definition at line 27 of file dot_product.hpp.
|
inline |
Definition at line 41 of file dot_product.hpp.
|
inline |
Returns the dot product of the specified arrays of doubles.
| v1 | First array. |
| v2 | Second array. |
| length | Length of both arrays. |
Definition at line 41 of file dot_product.hpp.
|
inline |
Definition at line 55 of file dot_product.hpp.
|
inline |
Returns the dot product of the specified arrays of doubles.
| v1 | First array. |
| v2 | Second array. |
| std::domain_error | if the vectors are not the same size. |
Definition at line 56 of file dot_product.hpp.
|
inline |
Definition at line 69 of file dot_product.hpp.
|
inline |
Definition at line 83 of file dot_product.hpp.
|
inline |
Definition at line 97 of file dot_product.hpp.
|
inline |
Definition at line 108 of file dot_product.hpp.
|
inline |
Definition at line 119 of file dot_product.hpp.
|
inline |
Definition at line 130 of file dot_product.hpp.
|
inline |
Definition at line 140 of file dot_product.hpp.
|
inline |
Definition at line 150 of file dot_product.hpp.
|
inline |
Return dot product of specified pointers up to specified length.
| T | type of scalar within fvar |
| v1 | pointer to first sequence |
| v2 | pointer second sequence |
| length | number of elements to multiply from each sequence |
Definition at line 169 of file dot_product.hpp.
|
inline |
Return dot product of specified pointers up to specified length.
| T | type of scalar within fvar |
| v1 | pointer to first sequence |
| v2 | pointer second sequence |
| length | number of elements to multiply from each sequence |
Definition at line 187 of file dot_product.hpp.
|
inline |
Returns the dot product.
| T1 | type of elements in the first vector |
| R1 | number of rows, can be Eigen::Dynamic |
| C1 | number of columns, can be Eigen::Dynamic |
| T2 | type of elements in the second vector |
| R2 | number of rows, can be Eigen::Dynamic |
| C2 | number of columns, can be Eigen::Dynamic |
| [in] | v1 | First column vector. |
| [in] | v2 | Second column vector. |
| std::domain_error | if length of v1 is not equal to length of v2. |
Definition at line 200 of file dot_product.hpp.
|
inline |
Return dot product of specified pointers up to specified length.
| T | type of scalar within fvar |
| v1 | pointer to first sequence |
| v2 | pointer second sequence |
| length | number of elements to multiply from each sequence |
Definition at line 205 of file dot_product.hpp.
|
inline |
Returns the dot product.
| T1 | type of elements in the first vector |
| T2 | type of elements in the second vector |
| [in] | v1 | First array. |
| [in] | v2 | Second array. |
| [in] | length | Length of both arrays. |
Definition at line 220 of file dot_product.hpp.
|
inline |
Returns the dot product.
| T1 | type of elements in the first vector |
| T2 | type of elements in the second vector |
| [in] | v1 | First vector. |
| [in] | v2 | Second vector. |
| std::domain_error | if sizes of v1 and v2 do not match. |
Definition at line 237 of file dot_product.hpp.
|
inline |
Definition at line 13 of file dot_self.hpp.
|
inline |
Definition at line 13 of file dot_self.hpp.
|
inline |
Returns the dot product of the specified vector with itself.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| v | Vector. |
| std::domain_error | If v is not vector dimensioned. |
Definition at line 30 of file dot_self.hpp.
Returns the dot product of a vector with itself.
| R | number of rows, can be Eigen::Dynamic; one of R or C must be 1 |
| C | number of columns, can be Eigen::Dynamic; one of R or C must be 1 |
| [in] | v | Vector. |
Definition at line 66 of file dot_self.hpp.
| return_type_t<T_y, T_loc, T_scale> stan::math::double_exponential_lpdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 114 of file double_exponential_lpdf.hpp.
|
inline |
Return the base of the natural logarithm.
Definition at line 20 of file constants.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::eigenvalues_sym | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | m | ) |
Return the eigenvalues of the specified symmetric matrix in descending order of magnitude.
This function is more efficient than the general eigenvalues function for symmetric matrices.
See eigen_decompose() for more information.
| T | type of elements in the matrix |
| m | Specified matrix. |
Definition at line 22 of file eigenvalues_sym.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::eigenvectors_sym | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | m | ) |
Definition at line 11 of file eigenvectors_sym.hpp.
| Eigen::Matrix<return_type_t<T1, T2>, R, C> stan::math::elt_divide | ( | const Eigen::Matrix< T1, R, C > & | m1, |
| const Eigen::Matrix< T2, R, C > & | m2 | ||
| ) |
Return the elementwise division of the specified matrices.
| T1 | type of elements in first matrix |
| T2 | type of elements in second matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m1 | First matrix |
| m2 | Second matrix |
Definition at line 23 of file elt_divide.hpp.
| Eigen::Matrix<return_type_t<T1, T2>, R, C> stan::math::elt_divide | ( | const Eigen::Matrix< T1, R, C > & | m, |
| T2 | s | ||
| ) |
Return the elementwise division of the specified matrix by the specified scalar.
| T1 | type of elements in the matrix |
| T2 | type of the scalar |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | matrix |
| s | scalar |
Definition at line 44 of file elt_divide.hpp.
| Eigen::Matrix<return_type_t<T1, T2>, R, C> stan::math::elt_divide | ( | T1 | s, |
| const Eigen::Matrix< T2, R, C > & | m | ||
| ) |
Return the elementwise division of the specified scalar by the specified matrix.
| T1 | type of the scalar |
| T2 | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| s | scalar |
| m | matrix |
Definition at line 63 of file elt_divide.hpp.
| Eigen::Matrix<return_type_t<T1, T2>, R, C> stan::math::elt_multiply | ( | const Eigen::Matrix< T1, R, C > & | m1, |
| const Eigen::Matrix< T2, R, C > & | m2 | ||
| ) |
Return the elementwise multiplication of the specified matrices.
| T1 | type of elements in first matrix |
| T2 | type of elements in second matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m1 | First matrix |
| m2 | Second matrix |
Definition at line 24 of file elt_multiply.hpp.
|
inlinestatic |
Return true if there is no nested autodiff being executed.
Definition at line 12 of file empty_nested.hpp.
|
inline |
|
inline |
|
inline |
The error function for variables (C99).
The derivative is
\(\frac{d}{dx} \mbox{erf}(x) = \frac{2}{\sqrt{\pi}} \exp(-x^2)\).
\[ \mbox{erf}(x) = \begin{cases} \operatorname{erf}(x) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{erf}(x)}{\partial x} = \begin{cases} \frac{\partial\, \operatorname{erf}(x)}{\partial x} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \operatorname{erf}(x)=\frac{2}{\sqrt{\pi}}\int_0^x e^{-t^2}dt \]
\[ \frac{\partial \, \operatorname{erf}(x)}{\partial x} = \frac{2}{\sqrt{\pi}} e^{-x^2} \]
| a | The variable. |
|
inline |
|
inline |
|
inline |
The complementary error function for variables (C99).
The derivative is
\(\frac{d}{dx} \mbox{erfc}(x) = - \frac{2}{\sqrt{\pi}} \exp(-x^2)\).
\[ \mbox{erfc}(x) = \begin{cases} \operatorname{erfc}(x) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{erfc}(x)}{\partial x} = \begin{cases} \frac{\partial\, \operatorname{erfc}(x)}{\partial x} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \operatorname{erfc}(x)=\frac{2}{\sqrt{\pi}}\int_x^\infty e^{-t^2}dt \]
\[ \frac{\partial \, \operatorname{erfc}(x)}{\partial x} = -\frac{2}{\sqrt{\pi}} e^{-x^2} \]
| a | The variable. |
|
inline |
Return the exponentiation of the specified variable (cmath).
\[ \mbox{exp}(x) = \begin{cases} e^x & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{exp}(x)}{\partial x} = \begin{cases} e^x & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Variable to exponentiate. |
|
inline |
Return the elementwise exponentiation of the specified argument, which may be a scalar or any Stan container of numeric scalars.
The return type is the same as the argument type.
| T | type of container |
| [in] | x | container |
|
inline |
|
inline |
Exponentiation base 2 function for variables (C99).
The derivative is
\(\frac{d}{dx} 2^x = (\log 2) 2^x\).
\[ \mbox{exp2}(x) = \begin{cases} 2^x & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{exp2}(x)}{\partial x} = \begin{cases} 2^x\ln2 & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | The variable. |
|
inline |
Return the elementwise application of exp2() to specified argument container.
The return type promotes the underlying scalar argument type to double if it is an integer, and otherwise is the argument type.
| T | type of container |
| x | container |
| return_type_t<T_y, T_loc, T_scale, T_inv_scale> stan::math::exp_mod_normal_cdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma, | ||
| const T_inv_scale & | lambda | ||
| ) |
Definition at line 21 of file exp_mod_normal_cdf.hpp.
| return_type_t<T_y, T_loc, T_scale, T_inv_scale> stan::math::exp_mod_normal_lccdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma, | ||
| const T_inv_scale & | lambda | ||
| ) |
Definition at line 21 of file exp_mod_normal_lccdf.hpp.
| return_type_t<T_y, T_loc, T_scale, T_inv_scale> stan::math::exp_mod_normal_lcdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma, | ||
| const T_inv_scale & | lambda | ||
| ) |
Definition at line 21 of file exp_mod_normal_lcdf.hpp.
| return_type_t<T_y, T_loc, T_scale, T_inv_scale> stan::math::exp_mod_normal_lpdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma, | ||
| const T_inv_scale & | lambda | ||
| ) |
Definition at line 20 of file exp_mod_normal_lpdf.hpp.
|
inline |
Definition at line 103 of file exp_mod_normal_lpdf.hpp.
|
inline |
|
inline |
The exponentiation of the specified variable minus 1 (C99).
The derivative is given by
\(\frac{d}{dx} \exp(a) - 1 = \exp(a)\).
\[ \mbox{expm1}(x) = \begin{cases} e^x-1 & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{expm1}(x)}{\partial x} = \begin{cases} e^x & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | The variable. |
|
inline |
| return_type_t<T_y, T_inv_scale> stan::math::exponential_lccdf | ( | const T_y & | y, |
| const T_inv_scale & | beta | ||
| ) |
Definition at line 14 of file exponential_lccdf.hpp.
| return_type_t<T_y, T_inv_scale> stan::math::exponential_lcdf | ( | const T_y & | y, |
| const T_inv_scale & | beta | ||
| ) |
Definition at line 15 of file exponential_lcdf.hpp.
|
inline |
Definition at line 96 of file exponential_lpdf.hpp.
| T stan::math::F32 | ( | const T & | a1, |
| const T & | a2, | ||
| const T & | a3, | ||
| const T & | b1, | ||
| const T & | b2, | ||
| const T & | z, | ||
| double | precision = 1e-6, |
||
| int | max_steps = 1e5 |
||
| ) |
Hypergeometric function (3F2).
Function reference: http://dlmf.nist.gov/16.2
\[ _3F_2 \left( \begin{matrix}a_1 a_2 a3 \\ b_1 b_2\end{matrix}; z \right) = \sum_k=0^\infty \frac{(a_1)_k(a_2)_k(a_3)_k}{(b_1)_k(b_2)_k}\frac{z^k}{k!} \]
Where _k$ is an upper shifted factorial.
Calculate the hypergeometric function (3F2) as the power series directly to within precision or until max_steps terms.
This function does not have a closed form but will converge if:
|z| is less than 1|z| is equal to one and b1 + b2 < a1 + a2 + a3 This function is a rational polynomial ifa1, a2, or a3 is a non-positive integer This function can be treated as a rational polynomial ifb1 or b2 is a non-positive integer and the series is terminated prior to the final term.| T | type of arguments and result |
| [in] | a1 | a1 (always called with 1 from beta binomial cdfs) |
| [in] | a2 | a2 (always called with a2 > 1) |
| [in] | a3 | a3 (always called with int a3 <= 0) |
| [in] | b1 | b1 (always called with int b1 < |a3|) |
| [in] | b2 | b2 (always <= 1) |
| [in] | z | z (is always called with 1 from beta binomial cdfs) |
| [in] | precision | precision of the infinite sum. defaults to 1e-6 |
| [in] | max_steps | number of steps to take. defaults to 1e5 |
|
inline |
|
inline |
Return the absolute value of the variable (cmath).
Choosing an arbitrary value at the non-differentiable point 0,
\(\frac{d}{dx}|x| = \mbox{sgn}(x)\).
where \(\mbox{sgn}(x)\) is the signum function, taking values -1 if \(x < 0\), 0 if \(x == 0\), and 1 if \(x == 1\).
The function abs() provides the same behavior, with abs() defined in stdlib.h and fabs() defined in cmath. The derivative is 0 if the input is 0.
Returns std::numeric_limits<double>::quiet_NaN() for NaN inputs.
\[ \mbox{fabs}(x) = \begin{cases} |x| & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{fabs}(x)}{\partial x} = \begin{cases} -1 & \mbox{if } x < 0 \\ 0 & \mbox{if } x = 0 \\ 1 & \mbox{if } x > 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Input variable. |
|
inline |
| bool stan::math::factor_cov_matrix | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | Sigma, |
| Eigen::Array< T, Eigen::Dynamic, 1 > & | CPCs, | ||
| Eigen::Array< T, Eigen::Dynamic, 1 > & | sds | ||
| ) |
This function is intended to make starting values, given a covariance matrix Sigma.
The transformations are hard coded as log for standard deviations and Fisher transformations (atanh()) of CPCs
| T | type of elements in the matrix and arrays |
| [in] | Sigma | covariance matrix |
| [out] | CPCs | fill this unbounded (does not resize) |
| [out] | sds | fill this unbounded (does not resize) |
Definition at line 25 of file factor_cov_matrix.hpp.
| void stan::math::factor_U | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | U, |
| Eigen::Array< T, Eigen::Dynamic, 1 > & | CPCs | ||
| ) |
This function is intended to make starting values, given a unit upper-triangular matrix U such that U'DU is a correlation matrix.
| T | type of elements in the matrix |
| U | Sigma matrix |
| CPCs | fill this unbounded |
Definition at line 23 of file factor_U.hpp.
Definition at line 25 of file falling_factorial.hpp.
Return autodiff variable with the gradient and result of the falling factorial function applied to the inputs.
Will throw for NaN x and for negative n, as implemented in primitive function.
| T | inner type of the fvar |
| x | Argument. |
| n | Argument |
Definition at line 26 of file falling_factorial.hpp.
|
inline |
Return the falling factorial function evaluated at the inputs.
Will throw for NaN x and for negative n
| T | Type of x argument. |
| x | Argument. |
| n | Argument |
| std::domain_error | if x is NaN |
| std::domain_error | if n is negative |
\[ \mbox{falling\_factorial}(x, n) = \begin{cases} \textrm{error} & \mbox{if } x \leq 0\\ (x)_n & \mbox{if } x > 0 \textrm{ and } -\infty \leq n \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } n = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{falling\_factorial}(x, n)}{\partial x} = \begin{cases} \textrm{error} & \mbox{if } x \leq 0\\ \frac{\partial\, (x)_n}{\partial x} & \mbox{if } x > 0 \textrm{ and } -\infty \leq n \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } n = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{falling\_factorial}(x, n)}{\partial n} = \begin{cases} \textrm{error} & \mbox{if } x \leq 0\\ \frac{\partial\, (x)_n}{\partial n} & \mbox{if } x > 0 \textrm{ and } -\infty \leq n \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } n = \textrm{NaN} \end{cases} \]
\[ (x)_n=\frac{\Gamma(x+1)}{\Gamma(x-n+1)} \]
\[ \frac{\partial \, (x)_n}{\partial x} = (x)_n\Psi(x+1) \]
\[ \frac{\partial \, (x)_n}{\partial n} = -(x)_n\Psi(n+1) \]
Definition at line 63 of file falling_factorial.hpp.
|
inline |
Return the positive difference between the first variable's the value and the second's (C99, C++11).
The function values and deriatives are defined by
\[ \mbox{fdim}(x, y) = \begin{cases} x-y & \mbox{if } x > y \\[6pt] 0 & \mbox{otherwise} \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{fdim}(x, y)}{\partial x} = \begin{cases} 1 & \mbox{if } x > y \\[6pt] 0 & \mbox{otherwise} \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{fdim}(x, y)}{\partial y} = \begin{cases} -1 & \mbox{if } x > y \\[6pt] 0 & \mbox{otherwise} \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| a | First variable. |
| b | Second variable. |
Return the positive difference between the first value and the value of the second variable (C99, C++11).
See fdim(var, var) for definitions of values and derivatives.
| a | First value. |
| b | Second variable. |
Return the positive difference between the first variable's value and the second value (C99, C++11).
See fdim(var, var) for definitions of values and derivatives.
| a | First value. |
| b | Second variable. |
| void stan::math::fill | ( | Eigen::Matrix< T, R, C > & | x, |
| const S & | y | ||
| ) |
Fill the specified container with the specified value.
The specified matrix is filled by element.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| S | Type of value. |
| x | Container. |
| y | Value. |
| void stan::math::fill | ( | T & | x, |
| const S & | y | ||
| ) |
| void stan::math::fill | ( | std::vector< T > & | x, |
| const S & | y | ||
| ) |
| void stan::math::finite_diff_grad_hessian | ( | const F & | f, |
| const Eigen::VectorXd & | x, | ||
| double & | fx, | ||
| Eigen::MatrixXd & | hess, | ||
| std::vector< Eigen::MatrixXd > & | grad_hess_fx, | ||
| double | epsilon = 1e-04 |
||
| ) |
Calculate the value and the gradient of the hessian of the specified function at the specified argument using second-order autodiff and first-order finite difference.
The functor must implement
double operator()(const Eigen::Matrix<double, Eigen::Dynamic, 1>&)
Reference:
De Levie: An improved numerical approximation for the first derivative, page 3
4 calls to the function, f.
| F | Type of function |
| [in] | f | Function |
| [in] | x | Argument to function |
| [out] | fx | Function applied to argument |
| [out] | hess | Hessian matrix |
| [out] | grad_hess_fx | gradient of Hessian of function at argument |
| [in] | epsilon | perturbation size |
Definition at line 41 of file finite_diff_grad_hessian.hpp.
| void stan::math::finite_diff_grad_hessian_auto | ( | const F & | f, |
| const Eigen::VectorXd & | x, | ||
| double & | fx, | ||
| Eigen::MatrixXd & | hess, | ||
| std::vector< Eigen::MatrixXd > & | grad_hess_fx | ||
| ) |
Calculate the value, Hessian, and the gradient of the Hessian of the specified function at the specified argument using second-order autodiff and first-order finite difference.
The functor must implement
double operator()(const Eigen::VectorXd&) const;
Reference for finite difference to compute gradient:
De Levie: An improved numerical approximation for the first derivative, page 3
Step size for dimension i is set automatically using stan::math::finite_diff_stepsize(H(i, j)); the nested finite differences are over entries in the Hessian.
Evaluating this function involves 6 calls to the Hessian autodiff function for each entry in the Hessian.
| F | Type of function |
| [in] | f | Function |
| [in] | x | Argument to function |
| [out] | fx | Function applied to argument |
| [out] | hess | Hessian matrix |
| [out] | grad_hess_fx | gradient of Hessian of function at argument |
Definition at line 44 of file finite_diff_grad_hessian_auto.hpp.
| void stan::math::finite_diff_gradient | ( | const F & | f, |
| const Eigen::VectorXd & | x, | ||
| double & | fx, | ||
| Eigen::VectorXd & | grad_fx, | ||
| double | epsilon = 1e-03 |
||
| ) |
Calculate the value and the gradient of the specified function at the specified argument using finite difference.
The functor must implement
double operator()(const Eigen::Matrix<double, -1, 1>&) const;
If epsilon is chosen to be near the square root of the machine precision and the input vector elements are all roughly unit scale, and if the function has reasonable limits on variation, error should be on the order of epsilon^6.
The reference for the algorithm is:
Robert de Levie. 2009. An improved numerical approximation for the first derivative. Journal of Chemical Sciences 121(5), page 3.
Evaluating this function involves 6 calls to f for each dimension of the input.
| F | Type of function |
| [in] | f | Function |
| [in] | x | Argument to function |
| [out] | fx | Function applied to argument |
| [out] | grad_fx | Gradient of function at argument |
| [in] | epsilon | perturbation size |
Definition at line 43 of file finite_diff_gradient.hpp.
| void stan::math::finite_diff_gradient_auto | ( | const F & | f, |
| const Eigen::VectorXd & | x, | ||
| double & | fx, | ||
| Eigen::VectorXd & | grad_fx | ||
| ) |
Calculate the value and the gradient of the specified function at the specified argument using finite difference.
The functor must implement
double operator()(const Eigen::Matrix<double, -, 1>&) const;
Error of derivative in dimension i should be on the should be on order of epsilon(i)^6, where epsilon(i) = sqrt(delta) * abs(x(i)) for input x at dimension i.
The reference for this algorithm is:
Robert de Levie. 2009. An improved numerical approximation for the first derivative. Journal of Chemical Sciences 121(5), page 3.
The reference for automatically setting the difference is this section of the Wikipedia,
Numerical differentiation: practical considerations using floating point arithmetic.
Evaluating this function involves 6 calls to the function being differentiated for each dimension in the input, plus one global evaluation. All evaluations will be for double-precision inputs.
| F | Type of function |
| [in] | f | function |
| [in] | x | argument to function |
| [out] | fx | function applied to argument |
| [out] | grad_fx | gradient of function at argument |
Definition at line 50 of file finite_diff_gradient_auto.hpp.
| void stan::math::finite_diff_hessian | ( | const F & | f, |
| const Eigen::VectorXd & | x, | ||
| double & | fx, | ||
| Eigen::VectorXd & | grad_fx, | ||
| Eigen::MatrixXd & | hess_fx, | ||
| double | epsilon = 1e-03 |
||
| ) |
Calculate the value and the Hessian of the specified function at the specified argument using second-order finite difference with the specified perturbation step size.
The functor must implement double operator()(const Eigen::VectorXd&) const;
For details of the algorithm, see
Eberly, D., 2008. Derivative approximation by finite differences. Magic Software, Inc., Page 6.
| F | Type of function |
| [in] | f | Function |
| [in] | x | Argument to function |
| [out] | fx | Function applied to argument |
| [out] | grad_fx | Gradient of function at argument |
| [out] | hess_fx | Hessian of function at argument |
| [in] | epsilon | perturbation step size |
Definition at line 36 of file finite_diff_hessian.hpp.
| void stan::math::finite_diff_hessian_auto | ( | const F & | f, |
| const Eigen::VectorXd & | x, | ||
| double & | fx, | ||
| Eigen::VectorXd & | grad_fx, | ||
| Eigen::MatrixXd & | hess_fx | ||
| ) |
Calculate the value and the Hessian of the specified function at the specified argument using second-order finite difference, automatically setting the stepsize between the function evaluations along a dimension.
The functor must implement
double operator()(const Eigen::VectorXd&)
For details of the algorithm, see
Eberly, D., 2008. Derivative approximation by finite differences. Magic Software, Inc., Page 6.
Step size for dimension i is set automatically using stan::math::finite_diff_stepsize(x(i)).
For each non-diagonal entry in the Hessian, the function is evaluated 16 times; the diagonal entries require 4 function evaluations.
| F | Type of function |
| [in] | f | Function |
| [in] | x | Argument to function |
| [out] | fx | Function applied to argument |
| [out] | grad_fx | Gradient of function at argument |
| [out] | hess_fx | Hessian of function at argument |
Definition at line 42 of file finite_diff_hessian_auto.hpp.
| double stan::math::finite_diff_hessian_helper | ( | const F & | f, |
| const Eigen::VectorXd & | x, | ||
| int | i, | ||
| double | epsilon = 1e-03 |
||
| ) |
Return the subcalculation required by finite_diff_hessian and finite_diff_hessian_auto.
The calculation is like a partial derivative calculation, but returns different values. The only utility of this function is as a subroutine for the two Hessians.
The functor must implement double operator()(const Eigen::VectorXd&) const;
This function evaluations the functor four times.
| F | type of function |
| f | function to differentiate |
| x | argument to function |
| i | dimension of argument for derivative |
| epsilon | step size for finite differences |
Definition at line 30 of file finite_diff_hessian_helper.hpp.
|
inline |
Return the stepsize for finite difference evaluations at the specified scalar.
The forumula used is stepsize(u) = cbrt(epsilon) * max(1, abs(u)).
| u | initial value to increment |
Definition at line 20 of file finite_diff_stepsize.hpp.
|
inline |
|
inline |
Return the floor of the specified variable (cmath).
The derivative of the floor function is defined and zero everywhere but at integers, so we set these derivatives to zero for convenience,
\(\frac{d}{dx} {\lfloor x \rfloor} = 0\).
The floor function rounds down. For double values, this is the largest integral value that is not greater than the specified value. Although this function is not differentiable because it is discontinuous at integral values, its gradient is returned as zero everywhere.
\[ \mbox{floor}(x) = \begin{cases} \lfloor x \rfloor & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{floor}(x)}{\partial x} = \begin{cases} 0 & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Input variable. |
|
inline |
Return the product of the first two arguments plus the third argument.
Warning: This does not delegate to the high-precision platform-specific fma() implementation.
| x | First argument. |
| y | Second argument. |
| z | Third argument. |
|
inline |
The fused multiply-add operation (C99).
This double-based operation delegates to fma.
The function is defined by
fma(a, b, c) = (a * b) + c.
\[ \mbox{fma}(x, y, z) = \begin{cases} x\cdot y+z & \mbox{if } -\infty\leq x, y, z \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{fma}(x, y, z)}{\partial x} = \begin{cases} y & \mbox{if } -\infty\leq x, y, z \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{fma}(x, y, z)}{\partial y} = \begin{cases} x & \mbox{if } -\infty\leq x, y, z \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{fma}(x, y, z)}{\partial z} = \begin{cases} 1 & \mbox{if } -\infty\leq x, y, z \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| x1 | First value. |
| x2 | Second value. |
| x3 | Third value. |
|
inline |
|
inline |
|
inline |
|
inline |
The fused multiply-add function for three variables (C99).
This function returns the product of the first two arguments plus the third argument.
The partial derivatives are
\(\frac{\partial}{\partial x} (x * y) + z = y\), and
\(\frac{\partial}{\partial y} (x * y) + z = x\), and
\(\frac{\partial}{\partial z} (x * y) + z = 1\).
| a | First multiplicand. |
| b | Second multiplicand. |
| c | Summand. |
|
inline |
|
inline |
|
inline |
The fused multiply-add function for two variables and a value (C99).
This function returns the product of the first two arguments plus the third argument.
The partial derivatives are
\(\frac{\partial}{\partial x} (x * y) + c = y\), and
\(\frac{\partial}{\partial y} (x * y) + c = x\).
| Tc | type of the summand |
| a | First multiplicand. |
| b | Second multiplicand. |
| c | Summand. |
|
inline |
The fused multiply-add function for a variable, value, and variable (C99).
This function returns the product of the first two arguments plus the third argument.
The partial derivatives are
\(\frac{\partial}{\partial x} (x * c) + z = c\), and
\(\frac{\partial}{\partial z} (x * c) + z = 1\).
| Ta | type of the first multiplicand |
| Tb | type of the second multiplicand |
| Tc | type of the summand |
| a | First multiplicand. |
| b | Second multiplicand. |
| c | Summand. |
|
inline |
The fused multiply-add function for a variable and two values (C99).
This function returns the product of the first two arguments plus the third argument.
The double-based version ::fma(double, double, double) is defined in <cmath>.
The derivative is
\(\frac{d}{d x} (x * c) + d = c\).
| Tb | type of the second multiplicand |
| Tc | type of the summand |
| a | First multiplicand. |
| b | Second multiplicand. |
| c | Summand. |
|
inline |
The fused multiply-add function for a value, variable, and value (C99).
This function returns the product of the first two arguments plus the third argument.
The derivative is
\(\frac{d}{d y} (c * y) + d = c\), and
| Ta | type of the first multiplicand |
| Tc | type of the summand |
| a | First multiplicand. |
| b | Second multiplicand. |
| c | Summand. |
|
inline |
The fused multiply-add function for two values and a variable, and value (C99).
This function returns the product of the first two arguments plus the third argument.
The derivative is
\(\frac{\partial}{\partial z} (c * d) + z = 1\).
| Ta | type of the first multiplicand |
| Tb | type of the second multiplicand |
| a | First multiplicand. |
| b | Second multiplicand. |
| c | Summand. |
|
inline |
The fused multiply-add function for a value and two variables (C99).
This function returns the product of the first two arguments plus the third argument.
The partial derivaties are
\(\frac{\partial}{\partial y} (c * y) + z = c\), and
\(\frac{\partial}{\partial z} (c * y) + z = 1\).
| Ta | type of the first multiplicand |
| a | First multiplicand. |
| b | Second multiplicand. |
| c | Summand. |
|
inline |
Returns the maximum of the two variable arguments (C99).
No new variable implementations are created, with this function defined as if by
fmax(a, b) = a if a's value is greater than b's, and .
fmax(a, b) = b if b's value is greater than or equal to a's.
\[ \mbox{fmax}(x, y) = \begin{cases} x & \mbox{if } x \geq y \\ y & \mbox{if } x < y \\[6pt] x & \mbox{if } -\infty\leq x\leq \infty, y = \textrm{NaN}\\ y & \mbox{if } -\infty\leq y\leq \infty, x = \textrm{NaN}\\ \textrm{NaN} & \mbox{if } x, y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{fmax}(x, y)}{\partial x} = \begin{cases} 1 & \mbox{if } x \geq y \\ 0 & \mbox{if } x < y \\[6pt] 1 & \mbox{if } -\infty\leq x\leq \infty, y = \textrm{NaN}\\ 0 & \mbox{if } -\infty\leq y\leq \infty, x = \textrm{NaN}\\ \textrm{NaN} & \mbox{if } x, y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{fmax}(x, y)}{\partial y} = \begin{cases} 0 & \mbox{if } x \geq y \\ 1 & \mbox{if } x < y \\[6pt] 0 & \mbox{if } -\infty\leq x\leq \infty, y = \textrm{NaN}\\ 1 & \mbox{if } -\infty\leq y\leq \infty, x = \textrm{NaN}\\ \textrm{NaN} & \mbox{if } x, y = \textrm{NaN} \end{cases} \]
| a | First variable. |
| b | Second variable. |
Returns the maximum of the variable and scalar, promoting the scalar to a variable if it is larger (C99).
For fmax(a, b), if a's value is greater than b, then a is returned, otherwise a fesh variable implementation wrapping the value b is returned.
| a | First variable. |
| b | Second value |
Returns the maximum of a scalar and variable, promoting the scalar to a variable if it is larger (C99).
For fmax(a, b), if a is greater than b's value, then a fresh variable implementation wrapping a is returned, otherwise b is returned.
| a | First value. |
| b | Second variable. |
|
inline |
Returns the minimum of the two variable arguments (C99).
For fmin(a, b), if a's value is less than b's, then a is returned, otherwise b is returned.
\[ \mbox{fmin}(x, y) = \begin{cases} x & \mbox{if } x \leq y \\ y & \mbox{if } x > y \\[6pt] x & \mbox{if } -\infty\leq x\leq \infty, y = \textrm{NaN}\\ y & \mbox{if } -\infty\leq y\leq \infty, x = \textrm{NaN}\\ \textrm{NaN} & \mbox{if } x, y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{fmin}(x, y)}{\partial x} = \begin{cases} 1 & \mbox{if } x \leq y \\ 0 & \mbox{if } x > y \\[6pt] 1 & \mbox{if } -\infty\leq x\leq \infty, y = \textrm{NaN}\\ 0 & \mbox{if } -\infty\leq y\leq \infty, x = \textrm{NaN}\\ \textrm{NaN} & \mbox{if } x, y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{fmin}(x, y)}{\partial y} = \begin{cases} 0 & \mbox{if } x \leq y \\ 1 & \mbox{if } x > y \\[6pt] 0 & \mbox{if } -\infty\leq x\leq \infty, y = \textrm{NaN}\\ 1 & \mbox{if } -\infty\leq y\leq \infty, x = \textrm{NaN}\\ \textrm{NaN} & \mbox{if } x, y = \textrm{NaN} \end{cases} \]
| a | First variable. |
| b | Second variable. |
Returns the minimum of the variable and scalar, promoting the scalar to a variable if it is larger (C99).
For fmin(a, b), if a's value is less than or equal to b, then a is returned, otherwise a fresh variable wrapping b is returned.
| a | First variable. |
| b | Second value |
Returns the minimum of a scalar and variable, promoting the scalar to a variable if it is larger (C99).
For fmin(a, b), if a is less than b's value, then a fresh variable implementation wrapping a is returned, otherwise b is returned.
| a | First value. |
| b | Second variable. |
Return the floating point remainder after dividing the first variable by the second (cmath).
The partial derivatives with respect to the variables are defined everywhere but where \(x = y\), but we set these to match other values, with
\(\frac{\partial}{\partial x} \mbox{fmod}(x, y) = 1\), and
\(\frac{\partial}{\partial y} \mbox{fmod}(x, y) = -\lfloor \frac{x}{y} \rfloor\).
\[ \mbox{fmod}(x, y) = \begin{cases} x - \lfloor \frac{x}{y}\rfloor y & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{fmod}(x, y)}{\partial x} = \begin{cases} 1 & \mbox{if } -\infty\leq x, y\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{fmod}(x, y)}{\partial y} = \begin{cases} -\lfloor \frac{x}{y}\rfloor & \mbox{if } -\infty\leq x, y\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| a | First variable. |
| b | Second variable. |
Return the floating point remainder after dividing the the first variable by the second scalar (cmath).
The derivative with respect to the variable is
\(\frac{d}{d x} \mbox{fmod}(x, c) = \frac{1}{c}\).
| a | First variable. |
| b | Second scalar. |
Return the floating point remainder after dividing the first scalar by the second variable (cmath).
The derivative with respect to the variable is
\(\frac{d}{d y} \mbox{fmod}(c, y) = -\lfloor \frac{c}{y} \rfloor\).
| a | First scalar. |
| b | Second variable. |
|
inline |
Assume which type we get.
If actual type is not convertible to assumed type or in case of eigen types compile time rows and columns are not the same this has return type of T_desired, but it only throws. This version should only be used where it is optimized away so the throw should never happen.
This is intended to be used in compile time branches that would otherwise trigger compile error even though they are never executed.
| T_desired | type of output we need to avoid compile time errors |
| T_actual | actual type of the argument |
| a | input value |
| always | throws std::runtime_error |
Definition at line 105 of file forward_as.hpp.
| return_type_t<T_y, T_shape, T_scale> stan::math::frechet_cdf | ( | const T_y & | y, |
| const T_shape & | alpha, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 21 of file frechet_cdf.hpp.
| return_type_t<T_y, T_shape, T_scale> stan::math::frechet_lccdf | ( | const T_y & | y, |
| const T_shape & | alpha, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 20 of file frechet_lccdf.hpp.
| return_type_t<T_y, T_shape, T_scale> stan::math::frechet_lcdf | ( | const T_y & | y, |
| const T_shape & | alpha, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 20 of file frechet_lcdf.hpp.
| return_type_t<T_y, T_shape, T_scale> stan::math::frechet_lpdf | ( | const T_y & | y, |
| const T_shape & | alpha, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 23 of file frechet_lpdf.hpp.
|
inline |
Definition at line 128 of file frechet_lpdf.hpp.
|
inline |
| return_type_t<T_y, T_shape, T_inv_scale> stan::math::gamma_lccdf | ( | const T_y & | y, |
| const T_shape & | alpha, | ||
| const T_inv_scale & | beta | ||
| ) |
Definition at line 21 of file gamma_lccdf.hpp.
| return_type_t<T_y, T_shape, T_inv_scale> stan::math::gamma_lcdf | ( | const T_y & | y, |
| const T_shape & | alpha, | ||
| const T_inv_scale & | beta | ||
| ) |
Definition at line 21 of file gamma_lcdf.hpp.
|
inline |
Definition at line 147 of file gamma_lpdf.hpp.
|
inline |
Definition at line 16 of file gamma_p.hpp.
Definition at line 35 of file gamma_p.hpp.
Definition at line 50 of file gamma_p.hpp.
|
inline |
Return the value of the normalized, lower-incomplete gamma function applied to the specified argument.
This function is defined, including error conditions, as follows
\[ \mbox{gamma\_p}(a, z) = \begin{cases} \textrm{error} & \mbox{if } a\leq 0 \textrm{ or } z < 0\\ P(a, z) & \mbox{if } a > 0, z \geq 0 \\[6pt] \textrm{NaN} & \mbox{if } a = \textrm{NaN or } z = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{gamma\_p}(a, z)}{\partial a} = \begin{cases} \textrm{error} & \mbox{if } a\leq 0 \textrm{ or } z < 0\\ \frac{\partial\, P(a, z)}{\partial a} & \mbox{if } a > 0, z \geq 0 \\[6pt] \textrm{NaN} & \mbox{if } a = \textrm{NaN or } z = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{gamma\_p}(a, z)}{\partial z} = \begin{cases} \textrm{error} & \mbox{if } a\leq 0 \textrm{ or } z < 0\\ \frac{\partial\, P(a, z)}{\partial z} & \mbox{if } a > 0, z \geq 0 \\[6pt] \textrm{NaN} & \mbox{if } a = \textrm{NaN or } z = \textrm{NaN} \end{cases} \]
\[ P(a, z)=\frac{1}{\Gamma(a)}\int_0^zt^{a-1}e^{-t}dt \]
\[ \frac{\partial \, P(a, z)}{\partial a} = -\frac{\Psi(a)}{\Gamma^2(a)}\int_0^zt^{a-1}e^{-t}dt + \frac{1}{\Gamma(a)}\int_0^z (a-1)t^{a-2}e^{-t}dt \]
\[ \frac{\partial \, P(a, z)}{\partial z} = \frac{z^{a-1}e^{-z}}{\Gamma(a)} \]
| z | first argument |
| a | second argument |
| std::domain_error | if either argument is not positive or if z is at a pole of the function |
Definition at line 66 of file gamma_p.hpp.
Definition at line 102 of file gamma_p.hpp.
Definition at line 106 of file gamma_p.hpp.
Definition at line 110 of file gamma_p.hpp.
|
inline |
Definition at line 14 of file gamma_q.hpp.
Definition at line 46 of file gamma_q.hpp.
Definition at line 50 of file gamma_q.hpp.
|
inline |
\[ \mbox{gamma\_q}(a, z) = \begin{cases} \textrm{error} & \mbox{if } a\leq 0 \textrm{ or } z < 0\\ Q(a, z) & \mbox{if } a > 0, z \geq 0 \\[6pt] \textrm{NaN} & \mbox{if } a = \textrm{NaN or } z = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{gamma\_q}(a, z)}{\partial a} = \begin{cases} \textrm{error} & \mbox{if } a\leq 0 \textrm{ or } z < 0\\ \frac{\partial\, Q(a, z)}{\partial a} & \mbox{if } a > 0, z \geq 0 \\[6pt] \textrm{NaN} & \mbox{if } a = \textrm{NaN or } z = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{gamma\_q}(a, z)}{\partial z} = \begin{cases} \textrm{error} & \mbox{if } a\leq 0 \textrm{ or } z < 0\\ \frac{\partial\, Q(a, z)}{\partial z} & \mbox{if } a > 0, z \geq 0 \\[6pt] \textrm{NaN} & \mbox{if } a = \textrm{NaN or } z = \textrm{NaN} \end{cases} \]
\[ Q(a, z)=\frac{1}{\Gamma(a)}\int_z^\infty t^{a-1}e^{-t}dt \]
\[ \frac{\partial \, Q(a, z)}{\partial a} = -\frac{\Psi(a)}{\Gamma^2(a)}\int_z^\infty t^{a-1}e^{-t}dt + \frac{1}{\Gamma(a)}\int_z^\infty (a-1)t^{a-2}e^{-t}dt \]
\[ \frac{\partial \, Q(a, z)}{\partial z} = -\frac{z^{a-1}e^{-z}}{\Gamma(a)} \]
| domain_error | if x is at pole |
Definition at line 54 of file gamma_q.hpp.
Definition at line 54 of file gamma_q.hpp.
Definition at line 58 of file gamma_q.hpp.
Definition at line 77 of file gamma_q.hpp.
|
inline |
Definition at line 154 of file gaussian_dlm_obs_lpdf.hpp.
|
inline |
Definition at line 302 of file gaussian_dlm_obs_lpdf.hpp.
|
inline |
Definition at line 177 of file gaussian_dlm_obs_rng.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one index.
If the index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i | Index into vector plus 1. |
| error_msg | Error message if the index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
i - 1 | std::out_of_range | if idx is out of range. |
Definition at line 27 of file get_base1.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 50 of file get_base1.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| i3 | Third index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 74 of file get_base1.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| i3 | Third index plus 1. |
| i4 | Fourth index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 100 of file get_base1.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| i3 | Third index plus 1. |
| i4 | Fourth index plus 1. |
| i5 | Fifth index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 128 of file get_base1.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| i3 | Third index plus 1. |
| i4 | Fourth index plus 1. |
| i5 | Fifth index plus 1. |
| i6 | Sixth index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 158 of file get_base1.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| i3 | Third index plus 1. |
| i4 | Fourth index plus 1. |
| i5 | Fifth index plus 1. |
| i6 | Sixth index plus 1. |
| i7 | Seventh index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 189 of file get_base1.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| i3 | Third index plus 1. |
| i4 | Fourth index plus 1. |
| i5 | Fifth index plus 1. |
| i6 | Sixth index plus 1. |
| i7 | Seventh index plus 1. |
| i8 | Eigth index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 221 of file get_base1.hpp.
|
inline |
Return a copy of the row of the specified vector at the specified base-one row index.
If the index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
Warning: Because a copy is involved, it is inefficient to access element of matrices by first using this method to get a row then using a second call to get the value at a specified column.
| T | type of value |
| x | Matrix from which to get a row |
| m | Index into matrix plus 1. |
| error_msg | Error message if the index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
i - 1. | std::out_of_range | if idx is out of range. |
Definition at line 251 of file get_base1.hpp.
|
inline |
Return a reference to the value of the specified matrix at the specified base-one row and column indexes.
If either index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Matrix from which to get a row |
| m | Row index plus 1. |
| n | Column index plus 1. |
| error_msg | Error message if either index is out of range. |
| idx | Nested index level to report in error message if either index is out of range. |
m - 1 and column n - 1. | std::out_of_range | if idx is out of range. |
Definition at line 276 of file get_base1.hpp.
|
inline |
Return a reference to the value of the specified column vector at the specified base-one index.
If the index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Column vector from which to get a value. |
| m | Row index plus 1. |
| error_msg | Error message if the index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
m - 1. | std::out_of_range | if idx is out of range. |
Definition at line 300 of file get_base1.hpp.
|
inline |
Return a reference to the value of the specified row vector at the specified base-one index.
If the index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Row vector from which to get a value. |
| n | Column index plus 1. |
| error_msg | Error message if the index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
n - 1. | std::out_of_range | if idx is out of range. |
Definition at line 322 of file get_base1.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one index.
If the index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i | Index into vector plus 1. |
| error_msg | Error message if the index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
i - 1 | std::out_of_range | if idx is out of range. |
Definition at line 27 of file get_base1_lhs.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 50 of file get_base1_lhs.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| i3 | Third index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 74 of file get_base1_lhs.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| i3 | Third index plus 1. |
| i4 | Fourth index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 100 of file get_base1_lhs.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| i3 | Third index plus 1. |
| i4 | Fourth index plus 1. |
| i5 | Fifth index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 127 of file get_base1_lhs.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| i3 | Third index plus 1. |
| i4 | Fourth index plus 1. |
| i5 | Fifth index plus 1. |
| i6 | Sixth index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 156 of file get_base1_lhs.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| i3 | Third index plus 1. |
| i4 | Fourth index plus 1. |
| i5 | Fifth index plus 1. |
| i6 | Sixth index plus 1. |
| i7 | Seventh index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 187 of file get_base1_lhs.hpp.
|
inline |
Return a reference to the value of the specified vector at the specified base-one indexes.
If an index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Vector from which to get a value. |
| i1 | First index plus 1. |
| i2 | Second index plus 1. |
| i3 | Third index plus 1. |
| i4 | Fourth index plus 1. |
| i5 | Fifth index plus 1. |
| i6 | Sixth index plus 1. |
| i7 | Seventh index plus 1. |
| i8 | Eigth index plus 1. |
| error_msg | Error message if an index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
| std::out_of_range | if idx is out of range. |
Definition at line 219 of file get_base1_lhs.hpp.
|
inline |
Return a copy of the row of the specified vector at the specified base-one row index.
If the index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
Warning: Because a copy is involved, it is inefficient to access element of matrices by first using this method to get a row then using a second call to get the value at a specified column.
| T | type of value |
| x | Matrix from which to get a row |
| m | Index into matrix plus 1. |
| error_msg | Error message if the index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
i - 1. | std::out_of_range | if idx is out of range. |
Definition at line 251 of file get_base1_lhs.hpp.
|
inline |
Return a reference to the value of the specified matrix at the specified base-one row and column indexes.
If either index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Matrix from which to get a row |
| m | Row index plus 1. |
| n | Column index plus 1. |
| error_msg | Error message if either index is out of range. |
| idx | Nested index level to report in error message if either index is out of range. |
m - 1 and column n - 1. | std::out_of_range | if idx is out of range. |
Definition at line 275 of file get_base1_lhs.hpp.
|
inline |
Return a reference to the value of the specified column vector at the specified base-one index.
If the index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Column vector from which to get a value. |
| m | Row index plus 1. |
| error_msg | Error message if the index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
m - 1. | std::out_of_range | if idx is out of range. |
Definition at line 298 of file get_base1_lhs.hpp.
|
inline |
Return a reference to the value of the specified row vector at the specified base-one index.
If the index is out of range, throw a std::out_of_range exception with the specified error message and index indicated.
| T | type of value |
| x | Row vector from which to get a value. |
| n | Column index plus 1. |
| error_msg | Error message if the index is out of range. |
| idx | Nested index level to report in error message if the index is out of range. |
n - 1. | std::out_of_range | if idx is out of range. |
Definition at line 320 of file get_base1_lhs.hpp.
|
inline |
Definition at line 10 of file get_lp.hpp.
| Eigen::Matrix<return_type_t<T_x, T_sigma>, Eigen::Dynamic, Eigen::Dynamic> stan::math::gp_dot_prod_cov | ( | const std::vector< Eigen::Matrix< T_x, Eigen::Dynamic, 1 >> & | x, |
| const T_sigma & | sigma | ||
| ) |
Returns a dot product covariance matrix.
A member of Stan's Gaussian Process Library.
\(k(x,x') = \sigma^2 + x \cdot x'\)
A dot product covariance matrix is the same covariance matrix as in bayesian regression with \(N(0,1)\) priors on regression coefficients and a \(N(0,\sigma^2)\) prior on the constant function. See Rasmussen and Williams et al 2006, Chapter 4.
| T_x | type of std::vector of elements |
| T_sigma | type of sigma |
| x | std::vector of elements that can be used in dot product. This function assumes each element of x is the same size. |
| sigma | constant function that can be used in stan::math::square |
| std::domain_error | if sigma < 0, nan, inf or x is nan or infinite |
Definition at line 38 of file gp_dot_prod_cov.hpp.
| Eigen::Matrix<return_type_t<T_x, T_sigma>, Eigen::Dynamic, Eigen::Dynamic> stan::math::gp_dot_prod_cov | ( | const std::vector< T_x > & | x, |
| const T_sigma & | sigma | ||
| ) |
Returns a dot product covariance matrix.
A member of Stan's Gaussian Process Library.
\(k(x,x') = \sigma^2 + x \cdot x'\)
A dot product covariance matrix is the same covariance matrix as in bayesian regression with \(N(0,1)\) priors on regression coefficients and a \(N(0,\sigma^2)\) prior on the constant function. See Rasmussen and Williams et al 2006, Chapter 4.
| T_x | type of std::vector of double |
| T_sigma | type of sigma |
| x | std::vector of elements that can be used in transpose and multiply This function assumes each element of x is the same size. |
| sigma | constant function that can be used in stan::math::square |
| std::domain_error | if sigma < 0, nan, inf or x is nan or infinite |
Definition at line 93 of file gp_dot_prod_cov.hpp.
| Eigen::Matrix<return_type_t<T_x1, T_x2, T_sigma>, Eigen::Dynamic, Eigen::Dynamic> stan::math::gp_dot_prod_cov | ( | const std::vector< Eigen::Matrix< T_x1, Eigen::Dynamic, 1 >> & | x1, |
| const std::vector< Eigen::Matrix< T_x2, Eigen::Dynamic, 1 >> & | x2, | ||
| const T_sigma & | sigma | ||
| ) |
Returns a dot product covariance matrix of differing x's.
A member of Stan's Gaussian Process Library.
\(k(x,x') = \sigma^2 + x \cdot x'\)
A dot product covariance matrix is the same covariance matrix as in bayesian regression with \(N(0,1)\) priors on regression coefficients and a \(N(0,\sigma^2)\) prior on the constant function. See Rasmussen and Williams et al 2006, Chapter 4.
| T_x1 | type of first std::vector of elements |
| T_x2 | type of second std::vector of elements |
| T_sigma | type of sigma |
| x1 | std::vector of elements that can be used in dot_product |
| x2 | std::vector of elements that can be used in dot_product |
| sigma | constant function that can be used in stan::math::square |
| std::domain_error | if sigma < 0, nan or inf or if x1 or x2 are nan or inf |
Definition at line 146 of file gp_dot_prod_cov.hpp.
| Eigen::Matrix<return_type_t<T_x1, T_x2, T_sigma>, Eigen::Dynamic, Eigen::Dynamic> stan::math::gp_dot_prod_cov | ( | const std::vector< T_x1 > & | x1, |
| const std::vector< T_x2 > & | x2, | ||
| const T_sigma & | sigma | ||
| ) |
Returns a dot product covariance matrix of differing x's.
A member of Stan's Gaussian Process Library.
\(k(x,x') = \sigma^2 + x \cdot x'\)
A dot product covariance matrix is the same covariance matrix as in bayesian regression with \(N(0,1)\) priors on regression coefficients and a \(N(0,\sigma^2)\) prior on the constant function. See Rasmussen and Williams et al 2006, Chapter 4.
| T_x1 | type of first std::vector of double |
| T_x2 | type of second std::vector of double |
| T_sigma | type of sigma |
| x1 | std::vector of elements that can be used in dot_product |
| x2 | std::vector of elements that can be used in dot_product |
| sigma | is the constant function that can be used in stan::math::square |
| std::domain_error | if sigma < 0, nan or inf or if x1 or x2 are nan or inf |
Definition at line 206 of file gp_dot_prod_cov.hpp.
|
inline |
Returns a squared exponential kernel.
| T_x | type for each scalar |
| T_sigma | type of parameter sigma |
| T_l | type of parameter length scale |
| x | std::vector of scalars that can be used in square distance. This function assumes each element of x is the same size. |
| sigma | marginal standard deviation or magnitude |
| length_scale | length scale |
| std::domain_error | if sigma <= 0, l <= 0, or x is nan or infinite |
Definition at line 175 of file gp_exp_quad_cov.hpp.
|
inline |
Returns a squared exponential kernel.
| T_x | type of elements in the vector |
| x | std::vector input that can be used in square distance Assumes each element of x is the same size |
| sigma | standard deviation |
| length_scale | length scale |
| std::domain_error | if sigma <= 0, l <= 0, or x is nan or infinite |
Definition at line 213 of file gp_exp_quad_cov.hpp.
|
inline |
Returns a squared exponential kernel.
| T_x | type for each scalar |
| T_sigma | type of parameter sigma |
| T_l | type of each length scale parameter |
| x | std::vector of Eigen vectors of scalars. |
| sigma | marginal standard deviation or magnitude |
| length_scale | std::vector length scale |
| std::domain_error | if sigma <= 0, l <= 0, or x is nan or infinite |
Definition at line 215 of file gp_exp_quad_cov.hpp.
|
inline |
Returns a squared exponential kernel.
| T_x | type of elements in the vector |
| x | std::vector input that can be used in square distance Assumes each element of x is the same size |
| sigma | standard deviation |
| length_scale | length scale |
| std::domain_error | if sigma <= 0, l <= 0, or x is nan or infinite |
Definition at line 258 of file gp_exp_quad_cov.hpp.
|
inline |
Returns a squared exponential kernel.
This function is for the cross covariance matrix needed to compute posterior predictive density.
| T_x1 | type of first std::vector of scalars |
| T_x2 | type of second std::vector of scalars This function assumes each element of x1 and x2 are the same size. |
| T_sigma | type of sigma |
| T_l | type of of length scale |
| x1 | std::vector of elements that can be used in square distance |
| x2 | std::vector of elements that can be used in square distance |
| sigma | standard deviation |
| length_scale | length scale |
| std::domain_error | if sigma <= 0, l <= 0, or x is nan or infinite |
Definition at line 258 of file gp_exp_quad_cov.hpp.
|
inline |
Returns a squared exponential kernel.
This function is for the cross covariance matrix needed to compute the posterior predictive density.
| T_x1 | type of first std::vector of elements |
| T_x2 | type of second std::vector of elements |
| T_s | type of sigma |
| T_l | type of length scale |
| x1 | std::vector of Eigen vectors of scalars. |
| x2 | std::vector of Eigen vectors of scalars. |
| sigma | standard deviation |
| length_scale | std::vector of length scale |
| std::domain_error | if sigma <= 0, l <= 0, or x is nan or infinite |
Definition at line 307 of file gp_exp_quad_cov.hpp.
|
inline |
Returns a squared exponential kernel.
| x | std::vector of scalars that can be used in square distance. |
| sigma | marginal standard deviation or magnitude |
| length_scale | length scale |
| std::domain_error | if sigma <= 0, l <= 0, or x is nan or infinite |
Definition at line 353 of file gp_exp_quad_cov.hpp.
|
inline |
Returns a squared exponential kernel.
| x | std::vector of scalars that can be used in square distance. This function assumes each element of x is the same size. |
| sigma | marginal standard deviation or magnitude |
| length_scale | length scale |
| std::domain_error | if sigma <= 0, l <= 0, or x is nan or infinite |
Definition at line 396 of file gp_exp_quad_cov.hpp.
|
inline |
Returns a squared exponential kernel.
| x | std::vector of Eigen vectors of scalars. |
| sigma | marginal standard deviation or magnitude |
| length_scale | std::vector length scale |
| std::domain_error | if sigma <= 0, l <= 0, or x is nan or infinite |
Definition at line 440 of file gp_exp_quad_cov.hpp.
|
inline |
Returns a squared exponential kernel.
This function is for the cross covariance matrix needed to compute posterior predictive density.
| x1 | std::vector of elements that can be used in square distance |
| x2 | std::vector of elements that can be used in square distance |
| sigma | standard deviation |
| length_scale | length scale |
| std::domain_error | if sigma <= 0, l <= 0, or x is nan or infinite |
Definition at line 487 of file gp_exp_quad_cov.hpp.
|
inline |
Returns a squared exponential kernel.
This function is for the cross covariance matrix needed to compute posterior predictive density.
| x1 | std::vector of elements that can be used in square distance |
| x2 | std::vector of elements that can be used in square distance This function assumes each element of x1 and x2 are the same size. |
| sigma | standard deviation |
| length_scale | length scale |
| std::domain_error | if sigma <= 0, l <= 0, or x is nan or infinite |
Definition at line 538 of file gp_exp_quad_cov.hpp.
|
inline |
Returns a squared exponential kernel.
This function is for the cross covariance matrix needed to compute the posterior predictive density.
| x1 | std::vector of Eigen vectors of scalars. |
| x2 | std::vector of Eigen vectors of scalars. |
| sigma | standard deviation |
| length_scale | std::vector of length scale |
| std::domain_error | if sigma <= 0, l <= 0, or x is nan or infinite |
Definition at line 594 of file gp_exp_quad_cov.hpp.
|
inline |
Returns a Matern exponential covariance Matrix.
\[ k(x, x') = \sigma^2 exp(-\frac{d(x, x')^2}{2l^2}) \]
where d(x, x') is the Euclidean distance.
| T_x | type for each scalar |
| T_s | type of parameter sigma |
| T_l | type of parameter length scale |
| x | std::vector of scalars that can be used in stan::math::distance |
| sigma | standard deviation or magnitude |
| length_scale | length scale |
| std::domain | error if sigma <= 0, l <= 0, or x is nan or inf |
Definition at line 37 of file gp_exponential_cov.hpp.
|
inline |
Returns a Matern exponential covariance matrix.
\[ k(x, x') = \sigma^2 exp(-\sum_{k=1}^K\frac{d(x, x')}{l_k}) \]
where d(x, x') is the Euclidean distance.
| T_x | type for each scalar |
| T_s | type for each parameter sigma |
| T_l | type for each length scale parameter |
| x | std::vector of Eigen::vectors of scalars |
| sigma | standard deviation that can be used in stan::math::square |
| length_scale | std::vector of length scales |
| std::domain | error if sigma <= 0, l <= 0, or x is nan or inf |
Definition at line 95 of file gp_exponential_cov.hpp.
|
inline |
Returns a Matern exponential cross covariance matrix.
\[ k(x, x') = \sigma^2 exp(-\frac{d(x, x')}{l}) \]
where d(x, x') is the Euclidean distance This function is for the cross covariance matrix needed to compute the posterior predictive distribution
| T_x1 | first type of scalars contained in vector x1 |
| T_x2 | second type of scalars contained in vector x2 |
| T_s | type of parameter sigma, marginal standard deviation |
| T_l | type of parameter length scale |
| x1 | std::vector of scalars that can be used in squared_distance |
| x2 | std::vector of scalars that can be used in squared_distance |
| length_scale | length scale |
| sigma | standard deviation that can be used in stan::math::square |
| std::domain | error if sigma <= 0, l <= 0, or x1, x2 are nan or inf |
Definition at line 157 of file gp_exponential_cov.hpp.
|
inline |
Returns a Matern exponential cross covariance matrix.
\[ k(x, x') = \sigma^2 exp(-\sum_{k=1}^K\frac{d(x, x')}{l_k}) \]
where \(d(x, x')\) is the Euclidean distance
This function is for the cross covariance matrix neededed to compute the posterior predictive density.
| T_x1 | first type of std::vector of scalars |
| T_x2 | second type of std::vector of scalars |
| T_s | type of parameter sigma, marginal standard deviation |
| T_l | type of parameter length scale |
| x1 | std::vector of Eigen vectors of scalars |
| x2 | std::vector of Eigen vectors of scalars |
| length_scale | parameter length scale |
| sigma | standard deviation that can be used in stan::math::square |
| std::domain | error if sigma <= 0, l <= 0, or x1, x2 are nan or inf |
Definition at line 226 of file gp_exponential_cov.hpp.
|
inline |
Returns a Matern 3/2 covariance matrix.
\[ k(x, x') = \sigma^2(1 + \frac{\sqrt{3}d(x, x')}{l})exp(-\frac{\sqrt{3}d(x, x')}{l}) \]
where \( d(x, x') \) is the Euclidean distance.
| T_x | type for each scalar |
| T_s | type of parameter of sigma |
| T_l | type of parameter length scale |
| x | std::vector of scalars that can be used in squared distance |
| length_scale | length scale |
| sigma | marginal standard deviation or magnitude |
| std::domain | error if sigma <= 0, l <= 0, or x is nan or inf |
Definition at line 40 of file gp_matern32_cov.hpp.
|
inline |
Returns a Matern 3/2 covariance matrix.
\[ k(x, x') = \sigma^2(1 + \sqrt{3} \sqrt{\sum_{k=1}^{K}\frac{d(x, x')^2}{l_k^2}}) exp(-\sqrt{3}\sqrt{\sum_{k=1}^{K}\frac{d(x, x')^2}{l_k^2}}) \]
where \(d(x, x')\) is the Euclidean distance.
| T_x | type for each scalar |
| T_s | type of element of parameter sigma |
| T_l | type of each length scale parameter |
| x | std::vector of Eigen vectors of scalars. |
| length_scale | std::vector of length scales |
| sigma | standard deviation that can be used in stan::math::square |
| std::domain | error if sigma <= 0, l <= 0, or x is nan or inf |
Definition at line 105 of file gp_matern32_cov.hpp.
|
inline |
Returns a Matern 3/2 cross covariance matrix.
\[ k(x, x') = \sigma^2(1 + \frac{\sqrt{3}d(x, x')}{l})exp(-\sqrt{3}\frac{d(x, x')}{l}) \]
where \(d(x, x')\) is the Euclidean distance.
This function is for the cross covariance matrix neededed to compute the posterior predictive density.
| T_x1 | first type of scalars contained in vector x1 |
| T_x2 | second type of scalars contained in vector x2 |
| T_s | type of parameter sigma, marginal standard deviation |
| T_l | type of parameter length scale |
| x1 | std::vector of scalars that can be used in squared_distance |
| x2 | std::vector of scalars that can be used in squared_distance |
| length_scale | length scale |
| sigma | standard deviation that can be used in stan::math::square |
| std::domain | error if sigma <= 0, l <= 0, or x1, x2 are nan or inf |
Definition at line 176 of file gp_matern32_cov.hpp.
|
inline |
Returns a Matern 3/2 cross covariance matrix.
\[ k(x, x') = \sigma^2(1 + \sqrt{3} \sqrt{\sum_{k=1}^{K}\frac{d(x, x')^2}{l_k^2}}) exp(-\sqrt{3}\sqrt{\sum_{k=1}^{K}\frac{d(x, x')^2}{l_k^2}}) \]
where \(d(x, x')\) is the Euclidean distance
This function is for the cross covariance matrix neededed to compute the posterior predictive density.
| T_x1 | first type of std::vector of scalars |
| T_x2 | second type of std::vector of scalars |
| T_s | type of parameter sigma, marginal standard deviation |
| T_l | type of parameter length scale |
| x1 | std::vector of Eigen vectors of scalars |
| x2 | std::vector of Eigen vectors of scalars |
| length_scale | parameter length scale |
| sigma | standard deviation that can be used in stan::math::square |
| std::domain | error if sigma <= 0, l <= 0, or x1, x2 are nan or inf |
Definition at line 252 of file gp_matern32_cov.hpp.
|
inline |
Returns a Matern 5/2 covariance matrix with one input vector.
\[ k(x, x') = \sigma^2\bigg(1 + \frac{\sqrt{5}d(x, x')}{l} + \frac{5d(x, x')^2}{3l^2}\bigg) exp\bigg(-\frac{5 d(x, x')}{l}\bigg) \]
where \( d(x, x') \) is the Euclidean distance.
| T_x | type of elements contained in vector x |
| T_s | type of element of sigma, the magnitude |
| T_l | type of elements of length scale |
| x | std::vector of elements that can be used in stan::math::distance |
| length_scale | length scale |
| sigma | standard deviation that can be used in stan::math::square |
| std::domain | error if sigma <= 0, l <= 0, or x is nan or inf |
Definition at line 41 of file gp_matern52_cov.hpp.
|
inline |
Returns a Matern 5/2 covariance matrix with one input vector with automatic relevance determination (ARD).
\[ k(x, x') = \sigma^2\bigg(1 + \sqrt{5}\sqrt{\sum_{k=1}^{K}\frac{d(x, x')^2}{l_k^2}} + \frac{5}{3} \sqrt{\sum_{k=1}^{K}\frac{d(x, x')^2}{l_k^2}}\bigg) exp\bigg(-\frac{5}{3}\bigg(\sqrt{\sum_{k=1}^K{\frac{d(x, x')^2}{l_k^2}} }\bigg)\bigg) \]
where \( d(x, x') \) is the Euclidean distance.
| T_x | type of elements contained in vector x |
| T_s | type of element of sigma, the magnitude |
| T_l | type of elements in vector of length scale |
| x | std::vector of elements that can be used in stan::math::distance |
| length_scale | length scale |
| sigma | standard deviation that can be used in stan::math::square |
| std::domain | error if sigma <= 0, l <= 0, or x is nan or inf |
| std::invalid_argument | if length scale size != dimension of x |
Definition at line 106 of file gp_matern52_cov.hpp.
|
inline |
Returns a Matern 5/2 covariance matrix with two different input vectors.
\[ k(x, x') = \sigma^2\bigg(1 + \frac{\sqrt{5}d(x, x')}{l} + \frac{5d(x, x')^2}{3l^2}\bigg) exp\bigg(-\frac{5 d(x, x')}{l}\bigg) \]
where \( d(x, x') \) is the Euclidean distance.
| T_x1 | type of elements contained in vector x1 |
| T_x2 | type of elements contained in vector x2 |
| T_s | type of element of sigma, the magnitude |
| T_l | type of elements of length scale |
| x1 | std::vector of elements that can be used in stan::math::distance |
| x2 | std::vector of elements that can be used in stan::math::distance |
| length_scale | length scale |
| sigma | standard deviation that can be used in stan::math::square |
| std::domain | error if sigma <= 0, l <= 0, or x is nan or inf |
Definition at line 174 of file gp_matern52_cov.hpp.
|
inline |
Returns a Matern 5/2 covariance matrix with two input vectors with automatic relevance determination (ARD).
\[ k(x, x') = \sigma^2\bigg(1 + \sqrt{5}\sqrt{\sum_{k=1}^{K}\frac{d(x, x')^2}{l_k^2}} + \frac{5}{3} \sqrt{\sum_{k=1}^{K}\frac{d(x, x')^2}{l_k^2}}\bigg) exp\bigg(-\frac{5}{3}\bigg(\sqrt{\sum_{k=1}^K{\frac{d(x, x')^2}{l_k^2}} }\bigg)\bigg) \]
where \( d(x, x') \) is the Euclidean distance.
| T_x1 | type of elements contained in vector x1 |
| T_x2 | type of elements contained in vector x2 |
| T_s | type of element of sigma, the magnitude |
| T_l | type of elements in vector of length scale |
| x1 | std::vector of elements that can be used in stan::math::distance |
| x2 | std::vector of elements that can be used in stan::math::distance |
| length_scale | length scale |
| sigma | standard deviation that can be used in stan::math::square |
| std::domain | error if sigma <= 0, l <= 0, or x is nan or inf |
| std::invalid_argument | if length scale size != dimension of x1 or x2 |
Definition at line 244 of file gp_matern52_cov.hpp.
|
inline |
Returns a periodic covariance matrix \( \mathbf{K} \) using the input \( \mathbf{X} \).
The elements of \( \mathbf{K} \) are defined as \( \mathbf{K}_{ij} = k(\mathbf{X}_i,\mathbf{X}_j), \) where \( \mathbf{X}_i \) is the \(i\)-th row of \( \mathbf{X} \) and
\( k(\mathbf{x},\mathbf{x}^\prime) = \sigma^2 \exp\left(-\frac{2\sin^2(\pi |\mathbf{x}-\mathbf{x}^\prime|/p)}{\ell^2}\right), \)
where \( \sigma^2 \), \( \ell \) and \( p \) are the signal variance, length-scale and period.
| T_x | type of std::vector elements of x. T_x can be a scalar, an Eigen::Vector, or an Eigen::RowVector. |
| T_sigma | type of sigma |
| T_l | type of length-scale |
| T_p | type of period |
| x | std::vector of input elements. This function assumes that all elements of x have the same size. |
| sigma | standard deviation of the signal |
| l | length-scale |
| p | period |
| std::domain_error | if sigma <= 0, l <= 0, p <= 0 or x is nan or infinite |
Definition at line 46 of file gp_periodic_cov.hpp.
|
inline |
Returns a periodic covariance matrix \( \mathbf{K} \) using inputs \( \mathbf{X}_1 \) and \( \mathbf{X}_2 \).
The elements of \( \mathbf{K} \) are defined as \( \mathbf{K}_{ij} = k(\mathbf{X}_{1_i},\mathbf{X}_{2_j}), \) where \( \mathbf{X}_{1_i} \) and \( \mathbf{X}_{2_j} \) are the \(i\)-th and \(j\)-th rows of \( \mathbf{X}_1 \) and \( \mathbf{X}_2 \) and
\( k(\mathbf{x},\mathbf{x}^\prime) = \sigma^2 \exp\left(-\frac{2\sin^2(\pi |\mathbf{x}-\mathbf{x}^\prime|/p)}{\ell^2}\right), \)
where \( \sigma^2 \), \( \ell \) and \( p \) are the signal variance, length-scale and period.
| T_x1 | type of std::vector elements of x1 T_x1 can be a scalar, an Eigen::Vector, or an Eigen::RowVector. |
| T_x2 | type of std::vector elements of x2 T_x2 can be a scalar, an Eigen::Vector, or an Eigen::RowVector. |
| T_sigma | type of sigma |
| T_l | type of length-scale |
| T_p | type of period |
| x1 | std::vector of first input elements |
| x2 | std::vector of second input elements. This function assumes that all the elements of x1 and x2 have the same sizes. |
| sigma | standard deviation of the signal |
| l | length-scale |
| p | period |
| std::domain_error | if sigma <= 0, l <= 0, p <= 0 , x1 or x2 is nan or infinite |
Definition at line 118 of file gp_periodic_cov.hpp.
|
inline |
Returns a periodic covariance matrix \( \mathbf{K} \) using the input \( \mathbf{X} \).
The elements of \( \mathbf{K} \) are defined as \( \mathbf{K}_{ij} = k(\mathbf{X}_i,\mathbf{X}_j), \) where \( \mathbf{X}_i \) is the \(i\)-th row of \( \mathbf{X} \) and
\( k(\mathbf{x},\mathbf{x}^\prime) = \sigma^2 \exp\left(-\frac{2\sin^2(\pi |\mathbf{x}-\mathbf{x}^\prime|/p)}{\ell^2}\right), \)
where \( \sigma^2 \), \( \ell \) and \( p \) are the signal variance, length-scale and period.
| T_x | type of elements in the std::vector |
| x | std::vector of input elements. Assumes that all elements of x have the same size. |
| sigma | standard deviation of the signal |
| l | length-scale |
| p | period |
| std::domain_error | if sigma <= 0, l <= 0, p <= 0, or x is nan or infinite |
Definition at line 307 of file gp_periodic_cov.hpp.
|
inline |
Returns a periodic covariance matrix \( \mathbf{K} \) using the input \( \mathbf{X} \).
The elements of \( \mathbf{K} \) are defined as \( \mathbf{K}_{ij} = k(\mathbf{X}_i,\mathbf{X}_j), \) where \( \mathbf{X}_i \) is the \(i\)-th row of \( \mathbf{X} \) and
\( k(\mathbf{x},\mathbf{x}^\prime) = \sigma^2 \exp\left(-\frac{2\sin^2(\pi |\mathbf{x}-\mathbf{x}^\prime|/p)}{\ell^2}\right), \)
where \( \sigma^2 \), \( \ell \) and \( p \) are the signal variance, length-scale and period.
| T_x | type of elements in the std::vector |
| x | std::vector of input elements. Assumes that all elements of x have the same size. |
| sigma | standard deviation of the signal |
| l | length-scale |
| p | period |
| std::domain_error | if sigma <= 0, l <= 0, p <= 0, or x is nan or infinite |
Definition at line 362 of file gp_periodic_cov.hpp.
|
static |
|
inline |
Propagate chain rule to calculate gradients starting from the specified variable.
Resizes the input vector to be the correct size.
The grad() function does not itself recover any memory. use recover_memory() or recover_memory_nested() to recover memory.
| [in] | v | Value of function being differentiated |
| [in] | x | Variables being differentiated with respect to |
| [out] | g | Gradient, d/dx v, evaluated at x. |
|
static |
Compute the gradient for all variables starting from the specified root variable implementation.
Does not recover memory. This chainable variable's adjoint is initialized using the method init_dependent() and then the chain rule is applied working down the stack from this vari and calling each vari's chain() method in turn.
This function computes a nested gradient only going back as far as the last nesting.
This function does not recover any memory from the computation.
| vi | Variable implementation for root of partial derivative propagation. |
| void stan::math::grad_2F1 | ( | T & | g_a1, |
| T & | g_b1, | ||
| const T & | a1, | ||
| const T & | a2, | ||
| const T & | b1, | ||
| const T & | z, | ||
| const T & | precision = 1e-10, |
||
| int | max_steps = 1e5 |
||
| ) |
Gradients of the hypergeometric function, 2F1.
Calculate the gradients of the hypergeometric function (2F1) as the power series stopping when the series converges to within precision or throwing when the function takes max_steps steps.
This power-series representation converges for all gradients under the same conditions as the 2F1 function itself.
| T | type of arguments and result |
| [out] | g_a1 | g_a1 pointer to array of six values of type T, result. |
| [out] | g_b1 | g_b1 pointer to array of six values of type T, result. |
| [in] | a1 | a1 see generalized hypergeometric function definition. |
| [in] | a2 | a2 see generalized hypergeometric function definition. |
| [in] | b1 | b1 see generalized hypergeometric function definition. |
| [in] | z | z see generalized hypergeometric function definition. |
| [in] | precision | precision of the infinite sum. |
| [in] | max_steps | number of steps to take. |
Definition at line 34 of file grad_2F1.hpp.
| void stan::math::grad_F32 | ( | T * | g, |
| const T & | a1, | ||
| const T & | a2, | ||
| const T & | a3, | ||
| const T & | b1, | ||
| const T & | b2, | ||
| const T & | z, | ||
| const T & | precision = 1e-6, |
||
| int | max_steps = 1e5 |
||
| ) |
Gradients of the hypergeometric function, 3F2.
Calculate the gradients of the hypergeometric function (3F2) as the power series stopping when the series converges to within precision or throwing when the function takes max_steps steps.
This power-series representation converges for all gradients under the same conditions as the 3F2 function itself.
| T | type of arguments and result |
| [out] | g | g pointer to array of six values of type T, result. |
| [in] | a1 | a1 see generalized hypergeometric function definition. |
| [in] | a2 | a2 see generalized hypergeometric function definition. |
| [in] | a3 | a3 see generalized hypergeometric function definition. |
| [in] | b1 | b1 see generalized hypergeometric function definition. |
| [in] | b2 | b2 see generalized hypergeometric function definition. |
| [in] | z | z see generalized hypergeometric function definition. |
| [in] | precision | precision of the infinite sum |
| [in] | max_steps | number of steps to take |
Definition at line 36 of file grad_F32.hpp.
| void stan::math::grad_hessian | ( | const F & | f, |
| const Eigen::Matrix< double, Eigen::Dynamic, 1 > & | x, | ||
| double & | fx, | ||
| Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > & | H, | ||
| std::vector< Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > & | grad_H | ||
| ) |
Calculate the value, the Hessian, and the gradient of the Hessian of the specified function at the specified argument.
The functor must implement
fvar<fvar<var> > operator()(const Eigen::Matrix<fvar<fvar<var> >, Eigen::Dynamic, 1>&)
using only operations that are defined for fvar and var.
This latter constraint usually requires the functions to be defined in terms of the libraries defined in Stan or in terms of functions with appropriately general namespace imports that eventually depend on functions defined in Stan.
| F | Type of function |
| [in] | f | Function |
| [in] | x | Argument to function |
| [out] | fx | Function applied to argument |
| [out] | H | Hessian of function at argument |
| [out] | grad_H | Gradient of the Hessian of function at argument |
Definition at line 42 of file grad_hessian.hpp.
|
inline |
Definition at line 20 of file grad_inc_beta.hpp.
| void stan::math::grad_inc_beta | ( | fvar< T > & | g1, |
| fvar< T > & | g2, | ||
| fvar< T > | a, | ||
| fvar< T > | b, | ||
| fvar< T > | z | ||
| ) |
Gradient of the incomplete beta function beta(a, b, z) with respect to the first two arguments.
Uses the equivalence to a hypergeometric function. See http://dlmf.nist.gov/8.17#ii
| T | inner type of the fvar |
| [out] | g1 | d/da |
| [out] | g2 | d/db |
| [in] | a | a |
| [in] | b | b |
| [in] | z | z |
Definition at line 34 of file grad_inc_beta.hpp.
|
inline |
Gradient of the incomplete beta function beta(a, b, z) with respect to the first two arguments.
Uses the equivalence to a hypergeometric function. See http://dlmf.nist.gov/8.17#ii
| [out] | g1 | d/da |
| [out] | g2 | d/db |
| [in] | a | a |
| [in] | b | b |
| [in] | z | z |
Definition at line 36 of file grad_inc_beta.hpp.
| void stan::math::grad_reg_inc_beta | ( | T & | g1, |
| T & | g2, | ||
| const T & | a, | ||
| const T & | b, | ||
| const T & | z, | ||
| const T & | digammaA, | ||
| const T & | digammaB, | ||
| const T & | digammaSum, | ||
| const T & | betaAB | ||
| ) |
Computes the gradients of the regularized incomplete beta function.
Specifically, this function computes gradients of ibeta(a, b, z), with respect to the arguments a and b.
| T | type of arguments |
| [out] | g1 | partial derivative of ibeta(a, b, z) with respect to a |
| [out] | g2 | partial derivative of ibeta(a, b, z) with respect to b |
| [in] | a | a |
| [in] | b | b |
| [in] | z | z |
| [in] | digammaA | the value of digamma(a) |
| [in] | digammaB | the value of digamma(b) |
| [in] | digammaSum | the value of digamma(a + b) |
| [in] | betaAB | the value of beta(a, b) |
Definition at line 33 of file grad_reg_inc_beta.hpp.
| return_type_t<T1, T2> stan::math::grad_reg_inc_gamma | ( | T1 | a, |
| T2 | z, | ||
| T1 | g, | ||
| T1 | dig, | ||
| double | precision = 1e-6, |
||
| int | max_steps = 1e5 |
||
| ) |
Gradient of the regularized incomplete gamma functions igamma(a, z)
For small z, the gradient is computed via the series expansion; for large z, the series is numerically inaccurate due to cancellation and the asymptotic expansion is used.
| T1 | type of the shape parameter |
| T2 | type of the location parameter |
| a | shape parameter, a > 0 |
| z | location z >= 0 |
| g | stan::math::tgamma(a) (precomputed value) |
| dig | boost::math::digamma(a) (precomputed value) |
| precision | required precision; applies to series expansion only |
| max_steps | number of steps to take. |
| throws | std::domain_error if not converged after max_steps or increment overflows to inf. |
For the asymptotic expansion, the gradient is given by:
\[ \begin{array}{rcl} \Gamma(a, z) & = & z^{a-1}e^{-z} \sum_{k=0}^N \frac{(a-1)_k}{z^k} \qquad , z \gg a\\ Q(a, z) & = & \frac{z^{a-1}e^{-z}}{\Gamma(a)} \sum_{k=0}^N \frac{(a-1)_k}{z^k}\\ (a)_k & = & (a)_{k-1}(a-k)\\ \frac{d}{da} (a)_k & = & (a)_{k-1} + (a-k)\frac{d}{da} (a)_{k-1}\\ \frac{d}{da}Q(a, z) & = & (log(z) - \psi(a)) Q(a, z)\\ && + \frac{z^{a-1}e^{-z}}{\Gamma(a)} \sum_{k=0}^N \left(\frac{d}{da} (a-1)_k\right) \frac{1}{z^k} \end{array} \]
Definition at line 51 of file grad_reg_inc_gamma.hpp.
| return_type_t<T1, T2> stan::math::grad_reg_lower_inc_gamma | ( | const T1 & | a, |
| const T2 & | z, | ||
| double | precision = 1e-10, |
||
| int | max_steps = 1e5 |
||
| ) |
Computes the gradient of the lower regularized incomplete gamma function.
The lower incomlete gamma function derivative w.r.t it's first parameter (a) seems to have no standard source. It also appears to have no widely known approximate implementation. Gautschi (1979) has a thorough discussion of the calculation of the lower regularized incomplete gamma function itself and some stability issues.
Reference: Gautschi, Walter (1979) ACM Transactions on mathematical software. 5(4):466-481
We implemented calculations for d(gamma_p)/da by taking derivatives of formulas suggested by Gauschi and others and testing them against an outside source (Mathematica). We took three implementations which can cover the range {a:[0,20], z:[0,30]} with absolute error < 1e-10 with the exception of values near (0,0) where the error is near 1e-5. Relative error is also <<1e-6 except for regions where the gradient approaches zero.
Gautschi suggests calculating the lower incomplete gamma function for small to moderate values of $z$ using the approximation:
\[ \frac{\gamma(a,z)}{\Gamma(a)}=z^a e^-z \sum_n=0^\infty \frac{z^n}{\Gamma(a+n+1)} \]
We write the derivative in the form:
\[ \frac{d\gamma(a,z)\Gamma(a)}{da} = \frac{\log z}{e^z} \sum_n=0^\infty \frac{z^{a+n}}{\Gamma(a+n+1)} - \frac{1}{e^z} \sum_n=0^\infty \frac{z^{a+n}}{\Gamma(a+n+1)}\psi^0(a+n+1) \]
This calculation is sufficiently accurate for small $a$ and small $z$. For larger values and $a$ and $z$ we use it in its log form:
\[ \frac{d \gamma(a,z)\Gamma(a)}{da} = \frac{\log z}{e^z} \sum_n=0^\infty \exp[(a+n)\log z - \log\Gamma(a+n+1)] - \sum_n=0^\infty \exp[(a+n)\log z - \log\Gamma(a+n+1) + \log\psi^0(a+n+1)] \]
For large $z$, Gauschi recommends using the upper incomplete Gamma instead and the negative of its derivative turns out to be more stable and accurate for larger $z$ and for some combinations of $a$ and $z$. This is a log-scale implementation of the derivative of the formulation suggested by Gauschi (1979). For some values it defers to the negative of the gradient for the gamma_q function. This is based on the suggestion by Gauschi (1979) that for large values of $z$ it is better to carry out calculations using the upper incomplete Gamma function.
Branching for choice of implementation for the lower incomplete regularized gamma function gradient. The derivative based on Gautschi's formulation appears to be sufficiently accurate everywhere except for large z and small to moderate a. The intersection between the two regions is a radius 12 quarter circle centered at a=0, z=30 although both implementations are satisfactory near the intersection.
Some limits that could be treated, e.g., infinite z should return tgamma(a) * digamma(a), throw instead to match the behavior of, e.g., boost::math::gamma_p
| T1 | type of a |
| T2 | type of z |
| [in] | a | shared with complete Gamma |
| [in] | z | value to integrate up to |
| [in] | precision | series terminates when increment falls below this value. |
| [in] | max_steps | number of terms to sum before throwing |
| std::domain_error | if the series does not converge to requested precision before max_steps. |
Definition at line 108 of file grad_reg_lower_inc_gamma.hpp.
| void stan::math::grad_tr_mat_times_hessian | ( | const F & | f, |
| const Eigen::Matrix< double, Eigen::Dynamic, 1 > & | x, | ||
| const Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > & | M, | ||
| Eigen::Matrix< double, Eigen::Dynamic, 1 > & | grad_tr_MH | ||
| ) |
Definition at line 15 of file grad_tr_mat_times_hessian.hpp.
| void stan::math::gradient | ( | const F & | f, |
| const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, | ||
| T & | fx, | ||
| Eigen::Matrix< T, Eigen::Dynamic, 1 > & | grad_fx | ||
| ) |
Calculate the value and the gradient of the specified function at the specified argument.
The functor must implement
fvar<T> operator()(const Eigen::Matrix<T, Eigen::Dynamic, 1>&)
using only operations that are defined for fvar. This latter constraint usually requires the functions to be defined in terms of the libraries defined in Stan or in terms of functions with appropriately general namespace imports that eventually depend on functions defined in Stan.
Time and memory usage is on the order of the size of the fully unfolded expression for the function applied to the argument, independently of dimension.
| T | type of the elements in the vector |
| F | Type of function |
| [in] | f | Function |
| [in] | x | Argument to function |
| [out] | fx | Function applied to argument |
| [out] | grad_fx | Gradient of function at argument |
Definition at line 40 of file gradient.hpp.
| void stan::math::gradient | ( | const F & | f, |
| const Eigen::Matrix< double, Eigen::Dynamic, 1 > & | x, | ||
| double & | fx, | ||
| Eigen::Matrix< double, Eigen::Dynamic, 1 > & | grad_fx | ||
| ) |
Calculate the value and the gradient of the specified function at the specified argument.
The functor must implement
var operator()(const Eigen::Matrix<var, Eigen::Dynamic, 1>&)
using only operations that are defined for var. This latter constraint usually requires the functions to be defined in terms of the libraries defined in Stan or in terms of functions with appropriately general namespace imports that eventually depend on functions defined in Stan.
Time and memory usage is on the order of the size of the fully unfolded expression for the function applied to the argument, independently of dimension.
| F | Type of function |
| [in] | f | Function |
| [in] | x | Argument to function |
| [out] | fx | Function applied to argument |
| [out] | grad_fx | Gradient of function at argument |
Definition at line 42 of file gradient.hpp.
| void stan::math::gradient_dot_vector | ( | const F & | f, |
| const Eigen::Matrix< T1, Eigen::Dynamic, 1 > & | x, | ||
| const Eigen::Matrix< T2, Eigen::Dynamic, 1 > & | v, | ||
| T1 & | fx, | ||
| T1 & | grad_fx_dot_v | ||
| ) |
Definition at line 13 of file gradient_dot_vector.hpp.
|
inline |
Calculate first derivative of f(x, param, std::ostream&) with respect to the nth parameter.
Uses nested reverse mode autodiff
Gradients that evaluate to NaN are set to zero if the function itself evaluates to zero. If the function is not zero and the gradient evaluates to NaN, a std::domain_error is thrown
| F | type of f |
Definition at line 33 of file integrate_1d.hpp.
|
inline |
Definition at line 102 of file gumbel_lpdf.hpp.
|
inline |
Return the specified number of elements as a vector from the front of the specified vector.
| T | type of elements in the vector |
| v | Vector input. |
| n | Size of return. |
| std::out_of_range | if n is out of range. |
|
inline |
Return the specified number of elements as a row vector from the front of the specified row vector.
| T | type of elements in the vector |
| rv | Row vector. |
| n | Size of return row vector. |
| std::out_of_range | if n is out of range. |
| std::vector<T> stan::math::head | ( | const std::vector< T > & | sv, |
| size_t | n | ||
| ) |
Return the specified number of elements as a standard vector from the front of the specified standard vector.
| T | type of elements in the vector |
| sv | Standard vector. |
| n | Size of return. |
| std::out_of_range | if n is out of range. |
| void stan::math::hessian | ( | const F & | f, |
| const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, | ||
| T & | fx, | ||
| Eigen::Matrix< T, Eigen::Dynamic, 1 > & | grad, | ||
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | H | ||
| ) |
Calculate the value, the gradient, and the Hessian, of the specified function at the specified argument in time O(N^3) time and O(N^2) space.
The advantage over the mixed definition, which is faster for Hessians, is that this version is itself differentiable.
The functor must implement
fvar<fvar<T> > operator()(const Eigen::Matrix<fvar<fvar<T> >, Eigen::Dynamic, 1>&)
using only operations that are defined for the argument type.
This latter constraint usually requires the functions to be defined in terms of the libraries defined in Stan or in terms of functions with appropriately general namespace imports that eventually depend on functions defined in Stan.
| T | type of elements in the vector and matrix |
| F | type of function |
| [in] | f | Function |
| [in] | x | Argument to function |
| [out] | fx | Function applied to argument |
| [out] | grad | gradient of function at argument |
| [out] | H | Hessian of function at argument |
Definition at line 41 of file hessian.hpp.
| void stan::math::hessian | ( | const F & | f, |
| const Eigen::Matrix< double, Eigen::Dynamic, 1 > & | x, | ||
| double & | fx, | ||
| Eigen::Matrix< double, Eigen::Dynamic, 1 > & | grad, | ||
| Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > & | H | ||
| ) |
Calculate the value, the gradient, and the Hessian, of the specified function at the specified argument in O(N^2) time and O(N^2) space.
The functor must implement
fvar<var> operator()(const Eigen::Matrix<fvar<var>, Eigen::Dynamic, 1>&)
using only operations that are defined for fvar and var.
This latter constraint usually requires the functions to be defined in terms of the libraries defined in Stan or in terms of functions with appropriately general namespace imports that eventually depend on functions defined in Stan.
| F | Type of function |
| [in] | f | Function |
| [in] | x | Argument to function |
| [out] | fx | Function applied to argument |
| [out] | grad | gradient of function at argument |
| [out] | H | Hessian of function at argument |
Definition at line 42 of file hessian.hpp.
| void stan::math::hessian_times_vector | ( | const F & | f, |
| const Eigen::Matrix< double, Eigen::Dynamic, 1 > & | x, | ||
| const Eigen::Matrix< double, Eigen::Dynamic, 1 > & | v, | ||
| double & | fx, | ||
| Eigen::Matrix< double, Eigen::Dynamic, 1 > & | Hv | ||
| ) |
Definition at line 14 of file hessian_times_vector.hpp.
| void stan::math::hessian_times_vector | ( | const F & | f, |
| const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, | ||
| const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | v, | ||
| T & | fx, | ||
| Eigen::Matrix< T, Eigen::Dynamic, 1 > & | Hv | ||
| ) |
Definition at line 42 of file hessian_times_vector.hpp.
| double stan::math::hypergeometric_lpmf | ( | const T_n & | n, |
| const T_N & | N, | ||
| const T_a & | a, | ||
| const T_b & | b | ||
| ) |
Definition at line 17 of file hypergeometric_lpmf.hpp.
|
inline |
Definition at line 57 of file hypergeometric_lpmf.hpp.
|
inline |
Definition at line 14 of file hypergeometric_rng.hpp.
|
inline |
Return the length of the hypotenuse of a right triangle with opposite and adjacent side lengths given by the specified arguments (C++11).
In symbols, if the arguments are x and y, the result is sqrt(x * x + y * y).
| x | First argument. |
| y | Second argument. |
|
inline |
Return the length of the hypotenuse of a right triangle with opposite and adjacent side lengths given by the specified arguments (C++11).
In symbols, if the arguments are 1 and x2, the result is sqrt(x1 * x1 + x2 * x2).
| T | inner type of the fvar |
| x1 | First argument. |
| x2 | Second argument. |
Returns the length of the hypotenuse of a right triangle with sides of the specified lengths (C99).
The partial derivatives are given by
\(\frac{\partial}{\partial x} \sqrt{x^2 + y^2} = \frac{x}{\sqrt{x^2 + y^2}}\), and
\(\frac{\partial}{\partial y} \sqrt{x^2 + y^2} = \frac{y}{\sqrt{x^2 + y^2}}\).
| [in] | a | Length of first side. |
| [in] | b | Length of second side. |
Return the length of the hypotenuse of a right triangle with opposite and adjacent side lengths given by the specified arguments (C++11).
In symbols, if the arguments are 1 and x2, the result is sqrt(x1 * x1 + x2 * x2).
| T | inner type of the fvar |
| x1 | First argument. |
| x2 | Second argument. |
Returns the length of the hypotenuse of a right triangle with sides of the specified lengths (C99).
The derivative is
\(\frac{d}{d x} \sqrt{x^2 + c^2} = \frac{x}{\sqrt{x^2 + c^2}}\).
| [in] | a | Length of first side. |
| [in] | b | Length of second side. |
Return the length of the hypotenuse of a right triangle with opposite and adjacent side lengths given by the specified arguments (C++11).
In symbols, if the arguments are 1 and x2, the result is sqrt(x1 * x1 + x2 * x2).
| T | inner type of the fvar |
| x1 | First argument. |
| x2 | Second argument. |
Returns the length of the hypotenuse of a right triangle with sides of the specified lengths (C99).
The derivative is
\(\frac{d}{d y} \sqrt{c^2 + y^2} = \frac{y}{\sqrt{c^2 + y^2}}\).
\[ \mbox{hypot}(x, y) = \begin{cases} \textrm{NaN} & \mbox{if } x < 0 \text{ or } y < 0 \\ \sqrt{x^2+y^2} & \mbox{if } x, y\geq 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{hypot}(x, y)}{\partial x} = \begin{cases} \textrm{NaN} & \mbox{if } x < 0 \text{ or } y < 0 \\ \frac{x}{\sqrt{x^2+y^2}} & \mbox{if } x, y\geq 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{hypot}(x, y)}{\partial y} = \begin{cases} \textrm{NaN} & \mbox{if } x < 0 \text{ or } y < 0 \\ \frac{y}{\sqrt{x^2+y^2}} & \mbox{if } x, y\geq 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| [in] | a | Length of first side. |
| [in] | b | Length of second side. |
|
inline |
Returns the result of applying the identity constraint transform to the input.
This method is effectively a no-op and is mainly useful as a placeholder in auto-generated code.
| T | Type of scalar. |
| [in] | x | free scalar |
Definition at line 21 of file identity_constrain.hpp.
|
inline |
Returns the result of applying the identity constraint transform to the input and increments the log probability reference with the log absolute Jacobian determinant.
This method is effectively a no-op and mainly useful as a placeholder in auto-generated code.
| T | type of scalar. |
| [in] | x | scalar |
Definition at line 38 of file identity_constrain.hpp.
|
inline |
Returns the result of applying the inverse of the identity constraint transform to the input.
This function is a no-op and mainly useful as a placeholder in auto-generated code.
| T | type of value |
| [in] | y | value |
Definition at line 21 of file identity_free.hpp.
|
inline |
Return a square identity matrix.
| K | size of the matrix |
| std::domain_error | if K is negative. |
Definition at line 17 of file identity_matrix.hpp.
If the specified condition is true, return the first variable, otherwise return the second variable.
| c | Boolean condition. |
| y_true | Variable to return if condition is true. |
| y_false | Variable to return if condition is false. |
Definition at line 18 of file if_else.hpp.
|
inline |
Return the second argument if the first argument is true and otherwise return the second argument.
This is just a convenience method to provide a function with the same behavior as the built-in ternary operator. In general, this function behaves as if defined by
if_else(c, y1, y0) = c ? y1 : y0.
| T_true | type of the true argument |
| T_false | type of the false argument |
| c | Boolean condition value. |
| y_true | Value to return if condition is true. |
| y_false | Value to return if condition is false. |
Definition at line 26 of file if_else.hpp.
If the specified condition is true, return a new variable constructed from the first scalar, otherwise return the second variable.
| c | Boolean condition. |
| y_true | Value to promote to variable and return if condition is true. |
| y_false | Variable to return if condition is false. |
Definition at line 30 of file if_else.hpp.
If the specified condition is true, return the first variable, otherwise return a new variable constructed from the second scalar.
| c | Boolean condition. |
| y_true | Variable to return if condition is true. |
| y_false | Value to promote to variable and return if condition is false. |
Definition at line 46 of file if_else.hpp.
|
inline |
Definition at line 19 of file inc_beta.hpp.
|
inline |
The normalized incomplete beta function of a, b, with outcome x.
Used to compute the cumulative density function for the beta distribution.
| a | Shape parameter a >= 0; a and b can't both be 0 |
| b | Shape parameter b >= 0 |
| x | Random variate. 0 <= x <= 1 |
| if | constraints are violated or if any argument is NaN |
Definition at line 24 of file inc_beta.hpp.
|
inline |
Definition at line 32 of file inc_beta.hpp.
|
inline |
Definition at line 36 of file inc_beta.hpp.
Definition at line 38 of file inc_beta.hpp.
|
inline |
Definition at line 40 of file inc_beta.hpp.
|
inline |
Definition at line 45 of file inc_beta.hpp.
|
inline |
Definition at line 49 of file inc_beta.hpp.
|
inline |
Definition at line 53 of file inc_beta.hpp.
| T stan::math::inc_beta_dda | ( | T | a, |
| T | b, | ||
| T | z, | ||
| T | digamma_a, | ||
| T | digamma_ab | ||
| ) |
Returns the partial derivative of the regularized incomplete beta function, I_{z}(a, b) with respect to a.
The power series used to compute the deriative tends to converge slowly when a and b are large, especially if z approaches 1. The implementation will throw an exception if the series have not converged within 100,000 iterations. The current implementation has been tested for values of a and b up to 12500 and z = 0.999.
| T | scalar types of arguments |
| a | first argument |
| b | second argument |
| z | upper bound of the integral |
| digamma_a | value of digamma(a) |
| digamma_ab | value of digamma(b) |
Definition at line 36 of file inc_beta_dda.hpp.
| T stan::math::inc_beta_ddb | ( | T | a, |
| T | b, | ||
| T | z, | ||
| T | digamma_b, | ||
| T | digamma_ab | ||
| ) |
Returns the partial derivative of the regularized incomplete beta function, I_{z}(a, b) with respect to b.
The power series used to compute the deriative tends to converge slowly when a and b are large, especailly if z approaches 1. The implementation will throw an exception if the series have not converged within 100,000 iterations. The current implementation has been tested for values of a and b up to 12500 and z = 0.999.
| T | scalar types of arguments |
| a | first argument |
| b | second argument |
| z | upper bound of the integral |
| digamma_b | value of digamma(b) |
| digamma_ab | value of digamma(b) |
Definition at line 39 of file inc_beta_ddb.hpp.
| T stan::math::inc_beta_ddz | ( | T | a, |
| T | b, | ||
| T | z | ||
| ) |
Returns the partial derivative of the regularized incomplete beta function, I_{z}(a, b) with respect to z.
| T | scalar types of arguments |
| a | first argument |
| b | second argument |
| z | upper bound of the integral |
Definition at line 27 of file inc_beta_ddz.hpp.
|
inline |
Definition at line 35 of file inc_beta_ddz.hpp.
| constexpr auto stan::math::index_apply | ( | F | f | ) |
Calls given callable with an index sequence.
Combination of this and a lambda can be used to avoid separating implementation that needs an index sequence from functions that operate on tuples of parameter packs.
| N | size of index sequence to use |
| F | callable type |
| f | callable |
Definition at line 26 of file index_apply.hpp.
|
inline |
Initialize the Intel TBB threadpool and global scheduler through the tbb::task_scheduler_init object.
In case an instance of the tbb::task_scheduler_object has been instantiated prior to calling this function, then any subsequent initialization is ignored by the Intel TBB.
The maximal number of threads is read from the environment variable STAN_NUM_THREADS using internal::get_num_threads. See conventions of get_num_threads. The TBB scheduler will be activated by calling this function.
The function returns a reference to the static tbb::task_scheduler_init instance.
| stack_size | sets the stack size of each thread; the default 0 let's the TBB choose the stack size |
| std::runtime_error | if the value of STAN_NUM_THREADS env. variable is invalid |
Definition at line 83 of file init_threadpool_tbb.hpp.
|
inline |
Definition at line 16 of file initialize.hpp.
|
inline |
Definition at line 20 of file initialize.hpp.
|
inline |
Definition at line 24 of file initialize.hpp.
|
inline |
Definition at line 30 of file initialize.hpp.
Initialize variable to value.
(Function may look pointless, but it's needed to bottom out recursion.)
Definition at line 16 of file initialize_variable.hpp.
|
inline |
Initialize every cell in the matrix to the specified value.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
Definition at line 27 of file initialize_variable.hpp.
|
inline |
Initialize the variables in the standard vector recursively.
| T | type of elements in the vector |
Definition at line 38 of file initialize_variable.hpp.
|
inline |
The integer step, or Heaviside, function.
For double NaN input, int_step(NaN) returns 0.
\[ \mbox{int\_step}(x) = \begin{cases} 0 & \mbox{if } x \leq 0 \\ 1 & \mbox{if } x > 0 \\[6pt] 0 & \mbox{if } x = \textrm{NaN} \end{cases} \]
| T | value type |
| [in] | y | value |
Definition at line 27 of file int_step.hpp.
|
inline |
Integrate a single variable function f from a to b to within a specified relative tolerance.
This function assumes a is less than b.
The signature for f should be: double f(double x, double xc)
It should return the value of the function evaluated at x.
Depending on whether or not a is finite or negative infinity and b is finite or positive infinity, a different version of the 1d quadrature algorithm from the Boost quadrature library is chosen.
Integrals that cross zero are broken into two, and the separate integrals are each integrated to the given relative tolerance.
For integrals with finite limits, the xc argument is the distance to the nearest boundary. So for a > 0, b > 0, it will be a - x for x closer to a, and b - x for x closer to b. xc is computed in a way that avoids the precision loss of computing a - x or b - x manually. For integrals that cross zero, xc can take values a - x, -x, or b - x depending on which integration limit it is nearest.
If either limit is infinite, xc is set to NaN
| T | Type of f |
| f | the function to be integrated |
| a | lower limit of integration |
| b | upper limit of integration |
| relative_tolerance | target relative tolerance passed to Boost quadrature |
If the integral crosses zero, break it into two (advice from the Boost implementation: https://www.boost.org/doc/libs/1_66_0/libs/math/doc/html/math_toolkit/double_exponential/de_caveats.html)
Definition at line 51 of file integrate_1d.hpp.
|
inline |
Compute the integral of the single variable function f from a to b to within a specified relative tolerance.
a and b can be finite or infinite.
f should be compatible with reverse mode autodiff and have the signature: var f(double x, double xc, const std::vector<var>& theta, const std::vector<double>& x_r, const std::vector<int> &x_i, std::ostream* msgs)
It should return the value of the function evaluated at x. Any errors should be printed to the msgs stream.
Integrals that cross zero are broken into two, and the separate integrals are each integrated to the given relative tolerance.
For integrals with finite limits, the xc argument is the distance to the nearest boundary. So for a > 0, b > 0, it will be a - x for x closer to a, and b - x for x closer to b. xc is computed in a way that avoids the precision loss of computing a - x or b - x manually. For integrals that cross zero, xc can take values a - x, -x, or b - x depending on which integration limit it is nearest.
If either limit is infinite, xc is set to NaN
The integration algorithm terminates when
\[ \frac{{|I_{n + 1} - I_n|}}{{|I|_{n + 1}}} < \text{relative tolerance} \]
where \(I_{n}\) is the nth estimate of the integral and \(|I|_{n}\) is the nth estimate of the norm of the integral.
Integrals that cross zero are split into two. In this case, each integral is separately integrated to the given relative_tolerance.
Gradients of f that evaluate to NaN when the function evaluates to zero are set to zero themselves. This is due to the autodiff easily overflowing to NaN when evaluating gradients near the maximum and minimum floating point values (where the function should be zero anyway for the integral to exist)
| T_a | type of first limit |
| T_b | type of second limit |
| T_theta | type of parameters |
| T | Type of f |
| f | the functor to integrate | |
| a | lower limit of integration | |
| b | upper limit of integration | |
| theta | additional parameters to be passed to f | |
| x_r | additional data to be passed to f | |
| x_i | additional integer data to be passed to f | |
| [in,out] | msgs | the print stream for warning messages |
| relative_tolerance | relative tolerance passed to Boost quadrature |
Definition at line 122 of file integrate_1d.hpp.
|
inline |
Compute the integral of the single variable function f from a to b to within a specified relative tolerance.
a and b can be finite or infinite.
The signature for f should be: double f(double x, double xc, const std::vector<double>& theta, const std::vector<double>& x_r, const std::vector<int>& x_i, std::ostream* msgs)
It should return the value of the function evaluated at x. Any errors should be printed to the msgs stream.
Integrals that cross zero are broken into two, and the separate integrals are each integrated to the given relative tolerance.
For integrals with finite limits, the xc argument is the distance to the nearest boundary. So for a > 0, b > 0, it will be a - x for x closer to a, and b - x for x closer to b. xc is computed in a way that avoids the precision loss of computing a - x or b - x manually. For integrals that cross zero, xc can take values a - x, -x, or b - x depending on which integration limit it is nearest.
If either limit is infinite, xc is set to NaN
The integration algorithm terminates when
\[ \frac{{|I_{n + 1} - I_n|}}{{|I|_{n + 1}}} < \text{relative tolerance} \]
where \(I_{n}\) is the nth estimate of the integral and \(|I|_{n}\) is the nth estimate of the norm of the integral.
Integrals that cross zero are split into two. In this case, each integral is separately integrated to the given relative_tolerance.
| T | Type of f |
| f | the function to be integrated | |
| a | lower limit of integration | |
| b | upper limit of integration | |
| theta | additional parameters to be passed to f | |
| x_r | additional data to be passed to f | |
| x_i | additional integer data to be passed to f | |
| [in,out] | msgs | the print stream for warning messages |
| relative_tolerance | tolerance passed to Boost quadrature |
Definition at line 185 of file integrate_1d.hpp.
| std::vector<std::vector<Tpar> > stan::math::integrate_dae | ( | const F & | f, |
| const std::vector< double > & | yy0, | ||
| const std::vector< double > & | yp0, | ||
| double | t0, | ||
| const std::vector< double > & | ts, | ||
| const std::vector< Tpar > & | theta, | ||
| const std::vector< double > & | x_r, | ||
| const std::vector< int > & | x_i, | ||
| const double | rtol, | ||
| const double | atol, | ||
| const int64_t | max_num_steps = idas_integrator::IDAS_MAX_STEPS, |
||
| std::ostream * | msgs = nullptr |
||
| ) |
Return the solutions for a semi-explicit DAE system with residual specified by functor F, given the specified consistent initial state yy0 and yp0.
| DAE | type of DAE system |
| Tpar | scalar type of parameter theta |
| [in] | f | functor for the base ordinary differential equation |
| [in] | yy0 | initial state |
| [in] | yp0 | initial derivative state |
| [in] | t0 | initial time |
| [in] | ts | times of the desired solutions, in strictly increasing order, all greater than the initial time |
| [in] | theta | parameters |
| [in] | x_r | real data |
| [in] | x_i | int data |
| [in] | rtol | relative tolerance passed to IDAS, requred <10^-3 |
| [in] | atol | absolute tolerance passed to IDAS, problem-dependent |
| [in] | max_num_steps | maximal number of admissable steps between time-points |
| [in] | msgs | message |
Definition at line 39 of file integrate_dae.hpp.
| std::vector<std::vector<return_type_t<T_initial, T_param, T_t0, T_ts> > > stan::math::integrate_ode_adams | ( | const F & | f, |
| const std::vector< T_initial > & | y0, | ||
| const T_t0 & | t0, | ||
| const std::vector< T_ts > & | ts, | ||
| const std::vector< T_param > & | theta, | ||
| const std::vector< double > & | x, | ||
| const std::vector< int > & | x_int, | ||
| std::ostream * | msgs = nullptr, |
||
| double | relative_tolerance = 1e-10, |
||
| double | absolute_tolerance = 1e-10, |
||
| long int | max_num_steps = 1e8 |
||
| ) |
Definition at line 15 of file integrate_ode_adams.hpp.
| std::vector<std::vector<return_type_t<T_initial, T_param, T_t0, T_ts> > > stan::math::integrate_ode_bdf | ( | const F & | f, |
| const std::vector< T_initial > & | y0, | ||
| const T_t0 & | t0, | ||
| const std::vector< T_ts > & | ts, | ||
| const std::vector< T_param > & | theta, | ||
| const std::vector< double > & | x, | ||
| const std::vector< int > & | x_int, | ||
| std::ostream * | msgs = nullptr, |
||
| double | relative_tolerance = 1e-10, |
||
| double | absolute_tolerance = 1e-10, |
||
| long int | max_num_steps = 1e8 |
||
| ) |
Definition at line 15 of file integrate_ode_bdf.hpp.
| std::vector<std::vector<return_type_t<T1, T2, T_t0, T_ts> > > stan::math::integrate_ode_rk45 | ( | const F & | f, |
| const std::vector< T1 > & | y0, | ||
| const T_t0 & | t0, | ||
| const std::vector< T_ts > & | ts, | ||
| const std::vector< T2 > & | theta, | ||
| const std::vector< double > & | x, | ||
| const std::vector< int > & | x_int, | ||
| std::ostream * | msgs = nullptr, |
||
| double | relative_tolerance = 1e-6, |
||
| double | absolute_tolerance = 1e-6, |
||
| int | max_num_steps = 1E6 |
||
| ) |
Return the solutions for the specified system of ordinary differential equations given the specified initial state, initial times, times of desired solution, and parameters and data, writing error and warning messages to the specified stream.
Warning: If the system of equations is stiff, roughly defined by having varying time scales across dimensions, then this solver is likely to be slow.
This function is templated to allow the initial times to be either data or autodiff variables and the parameters to be data or autodiff variables. The autodiff-based implementation for reverse-mode are defined in namespace stan::math and may be invoked via argument-dependent lookup by including their headers.
This function uses the Dormand-Prince method as implemented in Boost's boost::numeric::odeint::runge_kutta_dopri5 integrator.
| F | type of ODE system function. |
| T1 | type of scalars for initial values. |
| T2 | type of scalars for parameters. |
| T_t0 | type of scalar of initial time point. |
| T_ts | type of time-points where ODE solution is returned. |
| [in] | f | functor for the base ordinary differential equation. |
| [in] | y0 | initial state. |
| [in] | t0 | initial time. |
| [in] | ts | times of the desired solutions, in strictly increasing order, all greater than the initial time. |
| [in] | theta | parameter vector for the ODE. |
| [in] | x | continuous data vector for the ODE. |
| [in] | x_int | integer data vector for the ODE. |
| [out] | msgs | the print stream for warning messages. |
| [in] | relative_tolerance | relative tolerance parameter for Boost's ode solver. Defaults to 1e-6. |
| [in] | absolute_tolerance | absolute tolerance parameter for Boost's ode solver. Defaults to 1e-6. |
| [in] | max_num_steps | maximum number of steps to take within the Boost ode solver. |
Definition at line 70 of file integrate_ode_rk45.hpp.
|
inline |
\[ \mbox{inv}(x) = \begin{cases} \frac{1}{x} & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{inv}(x)}{\partial x} = \begin{cases} -\frac{1}{x^2} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
|
inline |
|
inline |
|
inline |
Definition at line 124 of file inv_chi_square_lpdf.hpp.
Definition at line 13 of file inv_cloglog.hpp.
Return the inverse complementary log-log function applied specified variable (stan).
See inv_cloglog() for the double-based version.
The derivative is given by
\(\frac{d}{dx} \mbox{cloglog}^{-1}(x) = \exp (x - \exp (x))\).
| a | Variable argument. |
Definition at line 37 of file inv_cloglog.hpp.
|
inline |
The inverse complementary log-log function.
The function is defined by
inv_cloglog(x) = 1 - exp(-exp(x)).
This function can be used to implement the inverse link function for complementary-log-log regression.
\[ \mbox{inv\_cloglog}(y) = \begin{cases} \mbox{cloglog}^{-1}(y) & \mbox{if } -\infty\leq y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{inv\_cloglog}(y)}{\partial y} = \begin{cases} \frac{\partial\, \mbox{cloglog}^{-1}(y)}{\partial y} & \mbox{if } -\infty\leq y\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } y = \textrm{NaN} \end{cases} \]
\[ \mbox{cloglog}^{-1}(y) = 1 - \exp \left( - \exp(y) \right) \]
\[ \frac{\partial \, \mbox{cloglog}^{-1}(y)}{\partial y} = \exp(y-\exp(y)) \]
| x | Argument. |
Definition at line 49 of file inv_cloglog.hpp.
|
inline |
Vectorized version of inv_cloglog().
| T | type of container |
| x | container |
Definition at line 76 of file inv_cloglog.hpp.
|
inline |
Version of inv_cloglog() that accepts Eigen Matrix or matrix expressions.
| Derived | derived type of x |
| x | Matrix or matrix expression |
Definition at line 89 of file inv_cloglog.hpp.
|
inline |
Version of inv_cloglog() that accepts Eigen Array or array expressions.
| Derived | derived type of x |
| x | Matrix or matrix expression |
Definition at line 102 of file inv_cloglog.hpp.
| return_type_t<T_y, T_shape, T_scale> stan::math::inv_gamma_lccdf | ( | const T_y & | y, |
| const T_shape & | alpha, | ||
| const T_scale & | beta | ||
| ) |
Definition at line 21 of file inv_gamma_lccdf.hpp.
| return_type_t<T_y, T_shape, T_scale> stan::math::inv_gamma_lcdf | ( | const T_y & | y, |
| const T_shape & | alpha, | ||
| const T_scale & | beta | ||
| ) |
Definition at line 21 of file inv_gamma_lcdf.hpp.
|
inline |
Definition at line 144 of file inv_gamma_lpdf.hpp.
Returns the inverse logit function applied to the argument.
| T | inner type of the fvar |
| x | argument |
Definition at line 20 of file inv_logit.hpp.
The inverse logit function for variables (stan).
See inv_logit() for the double-based version.
The derivative of inverse logit is
\(\frac{d}{dx} \mbox{logit}^{-1}(x) = \mbox{logit}^{-1}(x) (1 - \mbox{logit}^{-1}(x))\).
| a | Argument variable. |
Definition at line 32 of file inv_logit.hpp.
|
inline |
Returns the inverse logit function applied to the argument.
The inverse logit function is defined by
\(\mbox{logit}^{-1}(x) = \frac{1}{1 + \exp(-x)}\).
This function can be used to implement the inverse link function for logistic regression.
The inverse to this function is logit.
\[ \mbox{inv\_logit}(y) = \begin{cases} \mbox{logit}^{-1}(y) & \mbox{if } -\infty\leq y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{inv\_logit}(y)}{\partial y} = \begin{cases} \frac{\partial\, \mbox{logit}^{-1}(y)}{\partial y} & \mbox{if } -\infty\leq y\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } y = \textrm{NaN} \end{cases} \]
\[ \mbox{logit}^{-1}(y) = \frac{1}{1 + \exp(-y)} \]
\[ \frac{\partial \, \mbox{logit}^{-1}(y)}{\partial y} = \frac{\exp(y)}{(\exp(y)+1)^2} \]
| a | Argument. |
Definition at line 48 of file inv_logit.hpp.
|
inline |
Vectorized version of inv_logit().
| T | type of container |
| x | container |
Definition at line 82 of file inv_logit.hpp.
Definition at line 15 of file inv_Phi.hpp.
|
inline |
The inverse of the unit normal cumulative distribution function.
The return value for a specified input probability, $p$, is the unit normal variate, $x$, such that
\(\Phi(x) = \int_{-\infty}^x \mbox{\sf Norm}(x|0, 1) \ dx = p\)
Algorithm first derived in 2003 by Peter Jon Aklam at http://home.online.no/~pjacklam/notes/invnorm/
| p | Argument between 0 and 1. |
Definition at line 29 of file inv_Phi.hpp.
The inverse of unit normal cumulative density function.
See inv_Phi() for the double-based version.
The derivative is the reciprocal of unit normal density function,
| p | Probability |
Definition at line 34 of file inv_Phi.hpp.
|
inline |
Vectorized version of inv_Phi().
| T | type of container |
| x | variables in range [0, 1] |
| std::domain_error | if any value is not between 0 and 1. |
Definition at line 104 of file inv_Phi.hpp.
Definition at line 12 of file inv_sqrt.hpp.
|
inline |
Definition at line 12 of file inv_sqrt.hpp.
|
inline |
Vectorized version of inv_sqrt().
| T | type of container |
| x | container |
Definition at line 39 of file inv_sqrt.hpp.
\[ \mbox{inv\_sqrt}(x) = \begin{cases} \frac{1}{\sqrt{x}} & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{inv\_sqrt}(x)}{\partial x} = \begin{cases} -\frac{1}{2\sqrt{x^3}} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
Definition at line 41 of file inv_sqrt.hpp.
|
inline |
Version of inv_sqrt() that accepts Eigen Matrix or matrix expressions.
| Derived | derived type of x |
| x | Matrix or matrix expression |
Definition at line 52 of file inv_sqrt.hpp.
|
inline |
Version of inv_sqrt() that accepts Eigen Array or array expressions.
| Derived | derived type of x |
| x | Matrix or matrix expression |
Definition at line 65 of file inv_sqrt.hpp.
Definition at line 12 of file inv_square.hpp.
|
inline |
Definition at line 12 of file inv_square.hpp.
|
inline |
Vectorized version of inv_square().
| T | type of container |
| x | container |
Definition at line 22 of file inv_square.hpp.
\[ \mbox{inv\_square}(x) = \begin{cases} \frac{1}{x^2} & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{inv\_square}(x)}{\partial x} = \begin{cases} -\frac{2}{x^3} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
Definition at line 40 of file inv_square.hpp.
|
inline |
Definition at line 100 of file inv_wishart_lpdf.hpp.
|
inline |
Definition at line 13 of file inv_wishart_rng.hpp.
|
inline |
Throw an invalid_argument exception with a consistently formatted message.
This is an abstraction for all Stan functions to use when throwing invalid argument. This will allow us to change the behavior for all functions at once. The message is: "<function>: <name> <msg1><y><msg2>"
| T | Type of variable |
| function | Name of the function |
| name | Name of the variable |
| y | Variable |
| msg1 | Message to print before the variable |
| msg2 | Message to print after the variable |
| std::invalid_argument |
Definition at line 27 of file invalid_argument.hpp.
|
inline |
Throw an invalid_argument exception with a consistently formatted message.
This is an abstraction for all Stan functions to use when throwing invalid argument. This will allow us to change the behavior for all functions at once. (We've already changed behavior multiple times up to Stan v2.5.0.) The message is: "<function>: <name> <msg1><y>"
| T | Type of variable |
| function | Name of the function |
| name | Name of the variable |
| y | Variable |
| msg1 | Message to print before the variable |
| std::invalid_argument |
Definition at line 49 of file invalid_argument.hpp.
|
inline |
Throw an invalid argument exception with a consistently formatted message.
This is an abstraction for all Stan functions to use when throwing invalid arguments. This will allow us to change the behavior for all functions at once. (We've already changed behavior multiple times up to Stan v2.5.0.) The message is: "<function>: <name>[<i+error_index>] <msg1><y>" where error_index is the value of stan::error_index::value which indicates whether the message should be 0 or 1 indexed.
| T | Type of variable |
| function | Name of the function |
| name | Name of the variable |
| y | Variable |
| i | Index |
| msg1 | Message to print before the variable |
| msg2 | Message to print after the variable |
| std::invalid_argument |
Definition at line 33 of file invalid_argument_vec.hpp.
|
inline |
Throw an invalid argument exception with a consistently formatted message.
This is an abstraction for all Stan functions to use when throwing invalid arguments. This will allow us to change the behavior for all functions at once. (We've already changed behavior multiple times up to Stan v2.5.0.) The message is: "<function>: <name>[<i+error_index>] <msg1><y>" where error_index is the value of stan::error_index::value which indicates whether the message should be 0 or 1 indexed.
| T | Type of variable |
| function | Name of the function |
| name | Name of the variable |
| y | Variable |
| i | Index |
| msg | Message to print before the variable |
| std::invalid_argument |
Definition at line 61 of file invalid_argument_vec.hpp.
|
inline |
Definition at line 16 of file inverse.hpp.
|
inline |
Returns the inverse of the specified matrix.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | Specified matrix. |
Definition at line 21 of file inverse.hpp.
Reverse mode specialization of calculating the inverse of the matrix.
| m | Specified matrix. |
Definition at line 76 of file inverse.hpp.
| void stan::math::inverse_softmax | ( | const Vector & | simplex, |
| Vector & | y | ||
| ) |
Writes the inverse softmax of the simplex argument into the second argument.
See softmax for the inverse function and a definition of the relation.
The inverse softmax function is defined by
\(\mbox{inverse\_softmax}(x)[i] = \log x[i]\).
This function defines the inverse of softmax up to a scaling factor.
Because of the definition, values of 0.0 in the simplex are converted to negative infinity, and values of 1.0 are converted to 0.0.
There is no check that the input vector is a valid simplex vector.
| Vector | type of the simplex vector |
| simplex | Simplex vector input. |
| y | Vector into which the inverse softmax is written. |
| std::invalid_argument | if size of the input and output vectors differ. |
Definition at line 36 of file inverse_softmax.hpp.
|
inline |
Returns the inverse of the specified symmetric, pos/neg-definite matrix.
| T | type of elements in the matrix |
| m | Specified matrix. |
Definition at line 18 of file inverse_spd.hpp.
| bool stan::math::is_aligned | ( | T * | ptr, |
| unsigned int | bytes_aligned | ||
| ) |
Return true if the specified pointer is aligned on the number of bytes.
This doesn't really make sense other than for powers of 2.
| ptr | Pointer to test. |
| bytes_aligned | Number of bytes of alignment required. |
true if pointer is aligned. | Type | of object to which pointer points. |
Definition at line 29 of file stack_alloc.hpp.
|
inline |
Returns true if the input is NaN and false otherwise.
Delegates to stan::math::is_nan so that appropriate specializations can be loaded for autodiff types.
| x | Value to test. |
true if the value is NaN. Definition at line 21 of file is_any_nan.hpp.
|
inline |
Returns true if any input is NaN and false otherwise.
Delegates to stan::math::is_nan.
| x | first argument |
| xs | parameter pack of remaining arguments to forward to function |
true if any value is NaN Definition at line 35 of file is_any_nan.hpp.
|
inline |
Return true if y is a valid Cholesky factor, if number of rows is not less than the number of columns, if there are no 0 columns, and no element in matrix is NaN.
A Cholesky factor is a lower triangular matrix whose diagonal elements are all positive. Note that Cholesky factors need not be square, but require at least as many rows M as columns N (i.e., M >= N).
| T_y | Type of elements of Cholesky factor, requires class method .rows(), .cols(), and .diagonal() |
| y | Matrix to test |
true if y is a valid Cholesky factor, if number of rows is not less than the number of columns, if there are no 0 columns, and no element in matrix is NaN Definition at line 29 of file is_cholesky_factor.hpp.
|
inline |
Return true if y is a valid Cholesky factor, if the number of rows is not less than the number of columns, if there are no zero columns, and no element in matrix is NaN.
A Cholesky factor is a lower triangular matrix whose diagonal elements are all positive. This definition does not require a square matrix.
| T_y | Type of elements of Cholesky factor, requires class methods .rows(), .row(), and .transpose() |
| y | Matrix to test |
true if y is a valid Cholesky factor, if the number of rows is not less than the number of columns, if there are no 0 columns, and no element in matrix is NaN Definition at line 26 of file is_cholesky_factor_corr.hpp.
|
inline |
Return true if column index is in bounds.
By default this is a 1-indexed check (as opposed to zero-indexed). Behavior can be changed by setting stan::error_index::value.
| T_y | Type of scalar, requires class method .cols() |
| R | number of rows or Eigen::Dynamic |
| C | number of columns or Eigen::Dynamic |
| y | matrix to test |
| i | column index to check |
true if column index is in bounds Definition at line 22 of file is_column_index.hpp.
|
inline |
Return true if the matrix is square and not 0x0, if the matrix is symmetric, diagonals are near 1, positive definite, and no elements are NaN A valid correlation matrix is symmetric, has a unit diagonal (all 1 values), and has all values between -1 and 1 (inclusive).
| y | Matrix to test |
true if the matrix is square and not 0x0, if the matrix is symmetric, diagonals are near 1, positive definite, and no elements are NaN Definition at line 30 of file is_corr_matrix.hpp.
|
inline |
Returns true if the input is infinite and false otherwise.
Delegates to std::isinf.
| x | Value to test. |
true if the value is infinite. Definition at line 18 of file is_inf.hpp.
|
inline |
Returns 1 if the input's value is infinite and 0 otherwise.
Delegates to is_inf.
| v | Value to test. |
1 if the value is infinite and 0 otherwise. Definition at line 20 of file is_inf.hpp.
|
inline |
Returns 1 if the input's value is infinite and 0 otherwise.
Delegates to is_inf.
| T | inner type of the fvar |
| x | Value to test. |
1 if the value is infinite and 0 otherwise. Definition at line 21 of file is_inf.hpp.
|
inline |
Returns true if the input is an integer and false otherwise.
| x | Value to test. |
true if the value is an integer Definition at line 17 of file is_integer.hpp.
|
inline |
Return true if the specified LDLT factor is invalid.
An LDLT_factor is invalid if it was constructed from a matrix that is not positive definite. The check is that the .success() method returns true.
| T | Type of scalar, requires class access to .success() |
| R | number of rows or Eigen::Dynamic |
| C | number of columns or Eigen::Dynamic |
| A | The LDLT factor to check for validity |
true if the LDLT factor is valid Definition at line 23 of file is_ldlt_factor.hpp.
|
inline |
Return true if y is less or equal to high.
This function is vectorized and will check each element of y against each element of high.
| T_y | Type of y |
| T_high | Type of upper bound |
| y | Variable to check |
| high | Upper bound |
true if y is less than or equal to low and if and element of y or high is NaN Definition at line 24 of file is_less_or_equal.hpp.
|
inline |
Return true is matrix is lower triangular.
A matrix x is not lower triangular if there is a non-zero entry x[m, n] with m < n. This function only inspect the upper and triangular portion of the matrix, not including the diagonal.
| T | Type of scalar of the matrix |
| y | Matrix to test |
true is matrix is lower triangular Definition at line 24 of file is_lower_triangular.hpp.
|
inline |
Return true is the specified matrix is finite.
| T | Scalar type of the matrix, requires class method .allFinite() |
| R | number of rows or Eigen::Dynamic |
| C | number of columns or Eigen::Dynamic |
| y | Matrix to test |
true if the matrix is finite Definition at line 20 of file is_mat_finite.hpp.
|
inline |
Return true if the two matrices are of the same size.
This function checks the runtime sizes only.
| T1 | Scalar type of the first matrix, requires class method .size() |
| T2 | Scalar type of the second matrix, requires class method .size() |
| R1 | number of rows in the first matrix, can be Eigen::Dynamic |
| C1 | number of columns in the first matrix, can be Eigen::Dynamic |
| R2 | number of rows in the second matrix, can be Eigen::Dynamic |
| C2 | number of columns in the second matrix, can be Eigen::Dynamic |
| y1 | first matrix to test |
| y2 | second matrix to test |
true if the dimensions of the matrices match Definition at line 27 of file is_matching_dims.hpp.
|
inline |
Return true if the two matrices are of the same size.
This function checks the runtime sizes and can also check the static sizes as well. For example, a 4x1 matrix is not the same as a vector with 4 elements.
| check_compile | Whether to check the static sizes |
| T1 | Scalar type of the first matrix |
| T2 | Scalar type of the second matrix |
| R1 | number of rows in the first matrix, can be Eigen::Dynamic |
| C1 | number of columns in the first matrix, can be Eigen::Dynamic |
| R2 | number of rows in the second matrix, can be Eigen::Dynamic |
| C2 | number of columns in the second matrix, can be Eigen::Dynamic |
| y1 | first matrix to test |
| y2 | second matrix to test |
true if the dimensions of the matrices match Definition at line 51 of file is_matching_dims.hpp.
|
inline |
Return true if two structures are the same size.
This is a top-level sizing function for std::vector where a 2x3 vector returns 2, and a total sizing function for Eigen::Matrix where a 2x3 matrix will return 6.
| T_y1 | Type of the first variable, requires class method .size() |
| T_y2 | Type of the second variable, requires class method .size() |
| y1 | First variable |
| y2 | Second variable |
true if the variable sizes match Definition at line 24 of file is_matching_size.hpp.
|
inline |
Returns true if the input is NaN and false otherwise.
Delegates to std::isnan.
| x | Value to test. |
true if the value is NaN. Definition at line 19 of file is_nan.hpp.
|
inline |
Returns 1 if the input's value is NaN and 0 otherwise.
Delegates to is_nan(double).
| T | type of input |
| v | value to test |
1 if the value is NaN and 0 otherwise. Definition at line 20 of file is_nan.hpp.
|
inline |
Returns 1 if the input's value is NaN and 0 otherwise.
Delegates to is_nan.
| T | inner type of the fvar |
| x | Value to test. |
1 if the value is NaN and 0 otherwise. Definition at line 22 of file is_nan.hpp.
|
inline |
Returns true if the input is a nonpositive integer and false otherwise.
| x | Value to test. |
true if the value is an integer Definition at line 17 of file is_nonpositive_integer.hpp.
|
inline |
Returns true if the specified matrix/vector is size nonzero.
| T_y | Type of container, requires class method .size() |
| y | Container to test – matrix/vector |
true if container has size zero Definition at line 15 of file is_nonzero_size.hpp.
|
inline |
Return true if y is not NaN.
This function is vectorized and will check each element of y. If no element is NaN, this function will return true.
| T_y | Type of y |
| y | Variable to check |
true if no element of y is NaN Definition at line 23 of file is_not_nan.hpp.
|
inline |
Return true if the vector is sorted into strictly increasing order.
| T_y | Type of scalar, requires class method .size() |
| y | std::vector to test |
true if vector is sorted in ascending order Definition at line 19 of file is_ordered.hpp.
|
inline |
Return true if the matrix is square or if the matrix has non-zero size, or if the matrix is symmetric, or if it is positive definite, or if no element is NaN.
| T_y | Type of scalar of the matrix, requires class method .rows() |
| y | Matrix to test |
true if the matrix is square or if the matrix has non-0 size, or if the matrix is symmetric, or if it is positive definite, or if no element is NaN Definition at line 27 of file is_pos_definite.hpp.
|
inline |
Return true if the matrix is positive definite.
| Derived | Derived type of the Eigen::LDLT transform, requires class method .info() and .isPositive() and .vectorD().array() |
| cholesky | Eigen::LDLT to test, whose progenitor must not have any NaN elements |
true if the matrix is positive definite Definition at line 55 of file is_pos_definite.hpp.
|
inline |
Return true if diagonal of the L matrix is positive.
| Derived | Derived type of the Eigen::LLT transform, requires class method .info() and .matrixLLT().diagonal().array() |
| cholesky | Eigen::LLT to test, whose progenitor must not have any NaN elements |
true if diagonal of the L matrix is positive Definition at line 70 of file is_pos_definite.hpp.
|
inline |
Return true if y is positive.
This function is vectorized and will check each element of y.
| T_y | Type of y |
| y | Variable to check |
true if vector contains only positive elements Definition at line 20 of file is_positive.hpp.
|
inline |
Return true if size is positive.
| size | Size value to check |
true if size is not zero or negative Definition at line 34 of file is_positive.hpp.
|
inline |
Return true if y is finite.
This function is vectorized and will check each element of y.
| T_y | Type of y |
| y | Variable to check |
| <code>true</code> | if y is not infinity, -infinity, or NaN |
Definition at line 22 of file is_scal_finite.hpp.
|
inline |
Return true if the provided sizes match.
| T_size1 | Type of size 1 |
| T_size2 | Type of size 2 |
| i | Size of variable 1 |
| j | Size of variable 2 |
true if provided dimensions match Definition at line 17 of file is_size_match.hpp.
|
inline |
Return true if the matrix is square.
This check allows 0x0 matrices.
| y | Matrix to test |
true if matrix is square Definition at line 20 of file is_square.hpp.
|
inline |
Return true if the matrix is square, and no element not on the main diagonal is NaN.
| T_y | Type of scalar, requires class method .rows() |
| y | Matrix to test |
true if the matrix is square, and no element not on the main diagonal is NaN Definition at line 23 of file is_symmetric.hpp.
|
inline |
Returns true if the specified variable is uninitialized.
Arithmetic types are always initialized by definition (the value is not specified).
| T | Type of object to test. |
| x | Object to test. |
true if the specified object is uninitialized. Definition at line 19 of file is_uninitialized.hpp.
|
inline |
Returns true if the specified variable is uninitialized.
This overload of the is_uninitialized() function delegates the return to the is_uninitialized() method on the specified variable.
| x | Object to test. |
true if the specified object is uninitialized. Definition at line 23 of file is_uninitialized.hpp.
|
inline |
Return true if the vector is not a unit vector or if any element is NaN.
A valid unit vector is one where the square elements summed is equal to 1. This function tests that the sum is within the tolerance specified by CONSTRAINT_TOLERANCE. This function only accpets Eigen::Matrix vectors, statically typed vectors, not general matrices with 1 column.
| T_prob | Scalar type of the vector, reqires class method .squaredNorm() |
| theta | Eigen vector to test |
true if the vector is not a unit vector or if any element is NaN Definition at line 27 of file is_unit_vector.hpp.
|
inline |
Return true if specified argument is finite (not infinite and not not-a-number).
Overloads std::isfinite from <cmath> for argument-dependent lookup.
| ADType | type of argument |
| [in] | v | argument |
Definition at line 21 of file isfinite.hpp.
|
inline |
|
inline |
|
inline |
Return true if specified argument is normal.
A number is normal if it is finite, non-zero and not subnormal.
Overloads std::isnormal from <cmath> for argument-dependent lookup.
| ADType | type of argument |
| [in] | v | argument |
Definition at line 21 of file isnormal.hpp.
| void stan::math::jacobian | ( | const F & | f, |
| const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, | ||
| Eigen::Matrix< T, Eigen::Dynamic, 1 > & | fx, | ||
| Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | J | ||
| ) |
Definition at line 11 of file jacobian.hpp.
| void stan::math::jacobian | ( | const F & | f, |
| const Eigen::Matrix< double, Eigen::Dynamic, 1 > & | x, | ||
| Eigen::Matrix< double, Eigen::Dynamic, 1 > & | fx, | ||
| Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > & | J | ||
| ) |
Definition at line 14 of file jacobian.hpp.
| Eigen::VectorXd stan::math::kinsol_solve | ( | const F1 & | f, |
| const Eigen::VectorXd & | x, | ||
| const Eigen::VectorXd & | y, | ||
| const std::vector< double > & | dat, | ||
| const std::vector< int > & | dat_int, | ||
| std::ostream * | msgs = nullptr, |
||
| double | scaling_step_tol = 1e-3, |
||
| double | function_tolerance = 1e-6, |
||
| long int | max_num_steps = 200, |
||
| bool | custom_jacobian = 1, |
||
| const F2 & | J_f = kinsol_J_f(), |
||
| int | steps_eval_jacobian = 10, |
||
| int | global_line_search = KIN_LINESEARCH |
||
| ) |
Return the solution to the specified algebraic system, given an initial guess.
Invokes the Kinsol solver from Sundials.
| F | type of equation system function. |
| T | type of initial guess vector. |
| [in] | f | Functor that evaluated the system of equations. |
| [in] | x | Vector of starting values. |
| [in] | y | Parameter vector for the equation system. The function is overloaded to treat y as a vector of doubles or of a a template type T. |
| [in] | dat | Continuous data vector for the equation system. |
| [in] | dat_int | Integer data vector for the equation system. |
| [in,out] | msgs | The print stream for warning messages. |
| [in] | scaling_step_tol | Scaled-step stopping tolerance. If a Newton step is smaller than the scaling step tolerance, the code breaks, assuming the solver is no longer making significant progress (i.e. is stuck) |
| [in] | function_tolerance | determines whether roots are acceptable. |
| [in] | max_num_steps | Maximum number of function evaluations. |
| [in] | custom_jacobian | If 0, use Kinsol's default to compute the jacobian for the Newton step, namely Quotient Difference (finite difference). If 1, use reverse-mode AD, unless the user specifies their own method. |
| [in] | J_f | A functor that computes the Jacobian for the Newton step. Defaults to reverse-mode AD. |
| [in] | steps_eval_jacobian | Maximum number of steps before the Jacobian gets recomputed. Note that Kinsol's default is 10. If equal to 1, the algorithm computes exact Newton steps. |
| [in] | global_line_search | does the solver use a global line search? If equal to KIN_NONE, no, if KIN_LINESEARCH, yes. |
| <code>std::invalid_argument</code> | if Kinsol returns a negative flag when setting up the solver. |
| <code>boost::math::evaluation_error</code> | if Kinsol returns a negative flag after attempting to solve the equation. |
Definition at line 57 of file kinsol_solve.hpp.
|
inline |
Return the lower-bounded value for the specified unconstrained input and specified lower bound.
The transform applied is
\(f(x) = \exp(x) + L\)
where \(L\) is the constant lower bound.
If the lower bound is negative infinity, this function reduces to identity_constrain(x).
| T | type of scalar |
| L | type of lower bound |
| [in] | x | Unconstrained scalar input |
| [in] | lb | lower bound on constrained ouptut |
Definition at line 32 of file lb_constrain.hpp.
|
inline |
Return the lower-bounded value for the speicifed unconstrained input and specified lower bound, incrementing the specified reference with the log absolute Jacobian determinant of the transform.
If the lower bound is negative infinity, this function reduces to identity_constraint(x, lp).
| T | type of scalar. |
| L | type of lower bound. |
| [in] | x | unconstrained scalar input |
| [in] | lb | lower bound on output |
| [in,out] | lp | Reference to log probability to increment. |
Definition at line 57 of file lb_constrain.hpp.
|
inline |
Return the unconstrained value that produces the specified lower-bound constrained value.
If the lower bound is negative infinity, it is ignored and the function reduces to identity_free(y).
| T | type of scalar |
| L | type of lower bound |
| [in] | y | input scalar |
| [in] | lb | lower bound |
| std::domain_error | if y is lower than the lower bound |
Definition at line 29 of file lb_free.hpp.
| return_type_t<T1, T2> stan::math::lbeta | ( | const T1 | a, |
| const T2 | b | ||
| ) |
Return the log of the beta function applied to the specified arguments.
The beta function is defined for \(a > 0\) and \(b > 0\) by
\(\mbox{B}(a, b) = \frac{\Gamma(a) \Gamma(b)}{\Gamma(a+b)}\).
This function returns its log,
\(\log \mbox{B}(a, b) = \log \Gamma(a) + \log \Gamma(b) - \log \Gamma(a+b)\).
See stan::math::lgamma() for the double-based and stan::math for the variable-based log Gamma function. This function is numerically more stable than naive evaluation via lgamma.
\[ \mbox{lbeta}(\alpha, \beta) = \begin{cases} \ln\int_0^1 u^{\alpha - 1} (1 - u)^{\beta - 1} \, du & \mbox{if } \alpha, \beta>0 \\[6pt] \textrm{NaN} & \mbox{if } \alpha = \textrm{NaN or } \beta = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{lbeta}(\alpha, \beta)}{\partial \alpha} = \begin{cases} \Psi(\alpha)-\Psi(\alpha+\beta) & \mbox{if } \alpha, \beta>0 \\[6pt] \textrm{NaN} & \mbox{if } \alpha = \textrm{NaN or } \beta = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{lbeta}(\alpha, \beta)}{\partial \beta} = \begin{cases} \Psi(\beta)-\Psi(\alpha+\beta) & \mbox{if } \alpha, \beta>0 \\[6pt] \textrm{NaN} & \mbox{if } \alpha = \textrm{NaN or } \beta = \textrm{NaN} \end{cases} \]
| T1 | type of first value |
| T2 | type of second value |
| a | First value |
| b | Second value |
|
inline |
Return the natural logarithm of the gamma function applied to the specified argument.
| T | inner type of the fvar |
| x | Argument. |
Definition at line 21 of file lgamma.hpp.
The log gamma function for variables (C99).
The derivatie is the digamma function,
\(\frac{d}{dx} \Gamma(x) = \psi^{(0)}(x)\).
| a | The variable. |
Definition at line 30 of file lgamma.hpp.
|
inline |
Return the natural logarithm of the gamma function applied to the specified argument.
\[ \mbox{lgamma}(x) = \begin{cases} \textrm{error} & \mbox{if } x\in \{\dots, -3, -2, -1, 0\}\\ \ln\Gamma(x) & \mbox{if } x\not\in \{\dots, -3, -2, -1, 0\}\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{lgamma}(x)}{\partial x} = \begin{cases} \textrm{error} & \mbox{if } x\in \{\dots, -3, -2, -1, 0\}\\ \Psi(x) & \mbox{if } x\not\in \{\dots, -3, -2, -1, 0\}\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| x | argument |
Definition at line 62 of file lgamma.hpp.
|
inline |
Return the natural logarithm of the gamma function applied to the specified argument.
| x | argument |
Definition at line 81 of file lgamma.hpp.
|
inline |
Vectorized version of lgamma().
| T | type of container |
| x | container |
| std::domain_error | if any value is a negative integer or 0. |
Definition at line 117 of file lgamma.hpp.
| return_type_t<T> stan::math::lgamma_stirling | ( | const T | x | ) |
Return the Stirling approximation to the lgamma function.
\[ \mbox{lgamma_stirling}(x) = \frac{1}{2} \log(2\pi) + (x-\frac{1}{2})*\log(x) - x \]
| T | type of value |
| x | value |
Definition at line 25 of file lgamma_stirling.hpp.
| return_type_t<T> stan::math::lgamma_stirling_diff | ( | const T | x | ) |
Return the difference between log of the gamma function and its Stirling approximation.
This is useful to stably compute log of ratios of gamma functions with large arguments where the Stirling approximation allows for analytic solution and the (small) differences can be added afterwards. This is for example used in the implementation of lbeta.
The function will return correct value for all arguments, but using it can lead to a loss of precision when x < lgamma_stirling_diff_useful.
\[ \mbox{lgamma_stirling_diff}(x) = \log(\Gamma(x)) - \frac{1}{2} \log(2\pi) + (x-\frac{1}{2})*\log(x) - x \]
| T | type of value |
| x | value |
Definition at line 42 of file lgamma_stirling_diff.hpp.
|
inline |
Return an array of linearly spaced elements.
This produces an array from low to high (included) with elements spaced as (high - low) / (K - 1). For K=1, the array will contain the high value; for K=0 it returns an empty array.
| K | size of the array |
| low | smallest value |
| high | largest value |
| std::domain_error | if K is negative, if low is nan or infinite, if high is nan or infinite, or if high is less than low. |
Definition at line 26 of file linspaced_array.hpp.
|
inline |
Return a row vector of linearly spaced elements.
This produces a row vector from low to high (included) with elements spaced as (high - low) / (K - 1). For K=1, the vector will contain the high value; for K=0 it returns an empty vector.
| K | size of the row vector |
| low | smallest value |
| high | largest value |
| std::domain_error | if K is negative, if low is nan or infinite, if high is nan or infinite, or if high is less than low. |
Definition at line 25 of file linspaced_row_vector.hpp.
|
inline |
Return a vector of linearly spaced elements.
This produces a vector from low to high (included) with elements spaced as (high - low) / (K - 1). For K=1, the vector will contain the high value; for K=0 it returns an empty vector.
| K | size of the vector |
| low | smallest value |
| high | largest value |
| std::domain_error | if K is negative, if low is nan or infinite, if high is nan or infinite, or if high is less than low. |
Definition at line 25 of file linspaced_vector.hpp.
| return_type_t<T_covar, T_shape> stan::math::lkj_corr_cholesky_lpdf | ( | const Eigen::Matrix< T_covar, Eigen::Dynamic, Eigen::Dynamic > & | L, |
| const T_shape & | eta | ||
| ) |
Definition at line 17 of file lkj_corr_cholesky_lpdf.hpp.
|
inline |
Definition at line 55 of file lkj_corr_cholesky_lpdf.hpp.
|
inline |
Definition at line 13 of file lkj_corr_cholesky_rng.hpp.
| return_type_t<T_y, T_shape> stan::math::lkj_corr_lpdf | ( | const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > & | y, |
| const T_shape & | eta | ||
| ) |
Definition at line 48 of file lkj_corr_lpdf.hpp.
|
inline |
Definition at line 80 of file lkj_corr_lpdf.hpp.
| return_type_t<T_y, T_loc, T_scale, T_shape> stan::math::lkj_cov_lpdf | ( | const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > & | y, |
| const Eigen::Matrix< T_loc, Eigen::Dynamic, 1 > & | mu, | ||
| const Eigen::Matrix< T_scale, Eigen::Dynamic, 1 > & | sigma, | ||
| const T_shape & | eta | ||
| ) |
Definition at line 16 of file lkj_cov_lpdf.hpp.
|
inline |
Definition at line 52 of file lkj_cov_lpdf.hpp.
| return_type_t<T_y, T_loc, T_scale, T_shape> stan::math::lkj_cov_lpdf | ( | const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma, | ||
| const T_shape & | eta | ||
| ) |
Definition at line 64 of file lkj_cov_lpdf.hpp.
|
inline |
Definition at line 93 of file lkj_cov_lpdf.hpp.
|
inline |
Definition at line 14 of file lmgamma.hpp.
Definition at line 27 of file lmgamma.hpp.
|
inline |
Return the natural logarithm of the multivariate gamma function with the specified dimensions and argument.
The multivariate gamma function \(\Gamma_k(x)\) for dimensionality \(k\) and argument \(x\) is defined by
\(\Gamma_k(x) = \pi^{k(k-1)/4} \, \prod_{j=1}^k \Gamma(x + (1 - j)/2)\),
where \(\Gamma()\) is the gamma function.
\[ \mbox{lmgamma}(n, x) = \begin{cases} \textrm{error} & \mbox{if } x\in \{\dots, -3, -2, -1, 0\}\\ \ln\Gamma_n(x) & \mbox{if } x\not\in \{\dots, -3, -2, -1, 0\}\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{lmgamma}(n, x)}{\partial x} = \begin{cases} \textrm{error} & \mbox{if } x\in \{\dots, -3, -2, -1, 0\}\\ \frac{\partial\, \ln\Gamma_n(x)}{\partial x} & \mbox{if } x\not\in \{\dots, -3, -2, -1, 0\}\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \ln\Gamma_n(x) = \pi^{n(n-1)/4} \, \prod_{j=1}^n \Gamma(x + (1 - j)/2) \]
\[ \frac{\partial \, \ln\Gamma_n(x)}{\partial x} = \sum_{j=1}^n \Psi(x + (1 - j) / 2) \]
| T | type of scalar |
| k | Number of dimensions. |
| x | Function argument. |
Definition at line 53 of file lmgamma.hpp.
|
inline |
Return the natural log of the specified variable (cmath).
The derivative is defined by
\(\frac{d}{dx} \log x = \frac{1}{x}\).
\[ \mbox{log}(x) = \begin{cases} \textrm{NaN} & \mbox{if } x < 0\\ \ln(x) & \mbox{if } x \geq 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log}(x)}{\partial x} = \begin{cases} \textrm{NaN} & \mbox{if } x < 0\\ \frac{1}{x} & \mbox{if } x\geq 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Variable whose log is taken. |
|
inline |
Return the elementwise natural log of the specified argument, which may be a scalar or any Stan container of numeric scalars.
The return type is the same as the argument type.
| T | type of container |
| [in] | x | container |
|
inline |
|
inline |
|
inline |
Return the base 10 log of the specified variable (cmath).
The derivative is defined by
\(\frac{d}{dx} \log_{10} x = \frac{1}{x \log 10}\).
\[ \mbox{log10}(x) = \begin{cases} \textrm{NaN} & \mbox{if } x < 0\\ \log_{10}(x) & \mbox{if } x \geq 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log10}(x)}{\partial x} = \begin{cases} \textrm{NaN} & \mbox{if } x < 0\\ \frac{1}{x \ln10} & \mbox{if } x\geq 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Variable whose log is taken. |
|
inline |
Returns the natural logarithm of ten.
Definition at line 214 of file constants.hpp.
|
inline |
Return the natural logarithm of one minus the specified value.
The main use of this function is to cut down on intermediate values during algorithmic differentiation.
\[ \mbox{log1m}(x) = \begin{cases} \ln(1-x) & \mbox{if } x \leq 1 \\ \textrm{NaN} & \mbox{if } x > 1\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log1m}(x)}{\partial x} = \begin{cases} -\frac{1}{1-x} & \mbox{if } x \leq 1 \\ \textrm{NaN} & \mbox{if } x > 1\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| [in] | x | Argument. |
| <code>std::domain_error</code> | If the argument is greater than 1. |
| <code>std::overflow_error</code> | If the computation overflows. |
|
inline |
Return the natural logarithm of one minus the exponentiation of the specified argument.
| T | inner type of the fvar |
| x | Argument. |
Definition at line 23 of file log1m_exp.hpp.
Return the log of 1 minus the exponential of the specified variable.
The deriative of log(1 - exp(x)) with respect to x is -1 / expm1(-x).
| [in] | x | Argument. |
Definition at line 32 of file log1m_exp.hpp.
|
inline |
Calculates the natural logarithm of one minus the exponential of the specified value without overflow,.
log1m_exp(x) = log(1-exp(x))
This function is only defined for x < 0
\[ \mbox{log1m\_exp}(x) = \begin{cases} \ln(1-\exp(x)) & \mbox{if } x < 0 \\ \textrm{NaN} & \mbox{if } x \geq 0\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{asinh}(x)}{\partial x} = \begin{cases} -\frac{\exp(x)}{1-\exp(x)} & \mbox{if } x < 0 \\ \textrm{NaN} & \mbox{if } x \geq 0\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| [in] | a | Argument. |
Definition at line 44 of file log1m_exp.hpp.
|
inline |
Vectorized version of log1m_exp().
| T | type of container |
| x | container |
Definition at line 78 of file log1m_exp.hpp.
Return the natural logarithm of one minus the inverse logit of the specified argument.
| u | argument |
Definition at line 20 of file log1m_inv_logit.hpp.
Return the natural logarithm of one minus the inverse logit of the specified argument.
| T | inner type of the fvar |
| x | argument |
Definition at line 21 of file log1m_inv_logit.hpp.
|
inline |
Returns the natural logarithm of 1 minus the inverse logit of the specified argument.
\[ \mbox{log1m\_inv\_logit}(x) = \begin{cases} -\ln(\exp(x)+1) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log1m\_inv\_logit}(x)}{\partial x} = \begin{cases} -\frac{\exp(x)}{\exp(x)+1} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| u | argument |
Definition at line 34 of file log1m_inv_logit.hpp.
|
inline |
Return the natural logarithm of one minus the inverse logit of the specified argument.
| u | argument |
Definition at line 49 of file log1m_inv_logit.hpp.
|
inline |
Return the elementwise application of log1m_inv_logit() to specified argument container.
The return type promotes the underlying scalar argument type to double if it is an integer, and otherwise is the argument type.
| T | type of container |
| x | container |
Definition at line 83 of file log1m_inv_logit.hpp.
|
inline |
Return the natural logarithm of one plus the specified value.
\[ \mbox{log1p}(x) = \log(1 + x) \]
This version is more stable for arguments near zero than the direct definition. If x == -1, log1p(x) is defined to be negative infinity.
| [in] | x | Argument. |
| std::domain_error | If argument is less than -1. |
|
inline |
Return the natural logarithm of one plus the specified argument.
This version is required to disambiguate log1p(int).
| [in] | x | Argument. |
| std::domain_error | If argument is less than -1. |
|
inline |
Return the elementwise application of log1p() to specified argument container.
The return type promotes the underlying scalar argument type to double if it is an integer, and otherwise is the argument type.
| T | type of container |
| x | container |
Definition at line 13 of file log1p_exp.hpp.
Return the log of 1 plus the exponential of the specified variable.
Definition at line 24 of file log1p_exp.hpp.
|
inline |
Calculates the log of 1 plus the exponential of the specified value without overflow.
This function is related to other special functions by:
log1p_exp(x)
= log1p(exp(a))
= log(1 + exp(x))
= log_sum_exp(0, x).
\[ \mbox{log1p\_exp}(x) = \begin{cases} \ln(1+\exp(x)) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log1p\_exp}(x)}{\partial x} = \begin{cases} \frac{\exp(x)}{1+\exp(x)} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
Definition at line 42 of file log1p_exp.hpp.
|
inline |
Vectorized version of log1m_exp().
| T | type of container |
| x | container |
Definition at line 73 of file log1p_exp.hpp.
|
inline |
|
inline |
Returns the base 2 logarithm of the specified variable (C99).
See log2() for the double-based version.
The derivative is
\(\frac{d}{dx} \log_2 x = \frac{1}{x \log 2}\).
\[ \mbox{log2}(x) = \begin{cases} \textrm{NaN} & \mbox{if } x < 0 \\ \log_2(x) & \mbox{if } x\geq 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log2}(x)}{\partial x} = \begin{cases} \textrm{NaN} & \mbox{if } x < 0 \\ \frac{1}{x\ln2} & \mbox{if } x\geq 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Specified variable. |
|
inline |
Return the elementwise application of log2() to specified argument container.
The return type promotes the underlying scalar argument type to double if it is an integer, and otherwise is the argument type.
| T | type of container |
| x | container |
|
inline |
Definition at line 14 of file log_determinant.hpp.
|
inline |
Definition at line 15 of file log_determinant.hpp.
|
inline |
Returns the log absolute determinant of the specified square matrix.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | Specified matrix. |
| std::domain_error | if matrix is not square. |
Definition at line 22 of file log_determinant.hpp.
|
inline |
Returns log(abs(det(A))) given a LDLT_factor of A.
| T | type of elements in the LDLT_factor |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| A | LDLT_factor |
Definition at line 20 of file log_determinant_ldlt.hpp.
| var stan::math::log_determinant_ldlt | ( | LDLT_factor< var, R, C > & | A | ) |
Definition at line 44 of file log_determinant_ldlt.hpp.
|
inline |
Returns the log det of a symmetric, positive-definite matrix.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | a symmetric, positive-definite matrix |
Definition at line 24 of file log_determinant_spd.hpp.
|
inline |
Returns the log absolute determinant of the specified square matrix.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | specified matrix |
| std::domain_error | if matrix is not square and symmetric |
Definition at line 25 of file log_determinant_spd.hpp.
|
inline |
Definition at line 14 of file log_diff_exp.hpp.
|
inline |
Definition at line 27 of file log_diff_exp.hpp.
|
inline |
Definition at line 38 of file log_diff_exp.hpp.
|
inline |
The natural logarithm of the difference of the natural exponentiation of x and the natural exponentiation of y.
This function is only defined for x >= y
\[ \mbox{log\_diff\_exp}(x, y) = \begin{cases} \textrm{NaN} & \mbox{if } x < y\\ \ln(\exp(x)-\exp(y)) & \mbox{if } x \geq y \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log\_diff\_exp}(x, y)}{\partial x} = \begin{cases} \textrm{NaN} & \mbox{if } x \leq y\\ \frac{\exp(x)}{\exp(x)-\exp(y)} & \mbox{if } x > y \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log\_diff\_exp}(x, y)}{\partial y} = \begin{cases} \textrm{NaN} & \mbox{if } x \leq y\\ -\frac{\exp(y)}{\exp(x)-\exp(y)} & \mbox{if } x > y \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| T1 | type of the first argument |
| T2 | type of the second argument |
| x | first argument |
| y | second argument |
Definition at line 50 of file log_diff_exp.hpp.
Returns the log difference of the exponentiated arguments.
| [in] | a | First argument. |
| [in] | b | Second argument. |
Definition at line 57 of file log_diff_exp.hpp.
Returns the log difference of the exponentiated arguments.
| [in] | a | First argument. |
| [in] | b | Second argument. |
Definition at line 68 of file log_diff_exp.hpp.
Returns the log difference of the exponentiated arguments.
| [in] | a | First argument. |
| [in] | b | Second argument. |
Definition at line 79 of file log_diff_exp.hpp.
|
inline |
Definition at line 14 of file log_falling_factorial.hpp.
|
inline |
Definition at line 21 of file log_falling_factorial.hpp.
|
inline |
Definition at line 27 of file log_falling_factorial.hpp.
|
inline |
Return the natural log of the falling factorial of the specified arguments.
\[ \mbox{log\_falling\_factorial}(x, n) = \begin{cases} \textrm{error} & \mbox{if } x \leq 0\\ \ln (x)_n & \mbox{if } x > 0 \textrm{ and } -\infty \leq n \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } n = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log\_falling\_factorial}(x, n)}{\partial x} = \begin{cases} \textrm{error} & \mbox{if } x \leq 0\\ \Psi(x) & \mbox{if } x > 0 \textrm{ and } -\infty \leq n \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } n = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log\_falling\_factorial}(x, n)}{\partial n} = \begin{cases} \textrm{error} & \mbox{if } x \leq 0\\ -\Psi(n) & \mbox{if } x > 0 \textrm{ and } -\infty \leq n \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } n = \textrm{NaN} \end{cases} \]
| T1 | type of first argument |
| T2 | type of second argument |
| [in] | x | First argument |
| [in] | n | Second argument |
| std::domain_error | if the first argument is not positive |
Definition at line 54 of file log_falling_factorial.hpp.
Definition at line 61 of file log_falling_factorial.hpp.
Definition at line 65 of file log_falling_factorial.hpp.
Definition at line 69 of file log_falling_factorial.hpp.
Definition at line 13 of file log_inv_logit.hpp.
Return the natural logarithm of the inverse logit of the specified argument.
| u | argument |
Definition at line 20 of file log_inv_logit.hpp.
|
inline |
Returns the natural logarithm of the inverse logit of the specified argument.
\[ \mbox{log\_inv\_logit}(x) = \begin{cases} \ln\left(\frac{1}{1+\exp(-x)}\right)& \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log\_inv\_logit}(x)}{\partial x} = \begin{cases} \frac{1}{1+\exp(x)} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| u | argument |
Definition at line 32 of file log_inv_logit.hpp.
|
inline |
Returns the natural logarithm of the inverse logit of the specified argument.
| u | argument |
Definition at line 47 of file log_inv_logit.hpp.
|
inline |
Return the elementwise application of log_inv_logit() to specified argument container.
The return type promotes the underlying scalar argument type to double if it is an integer, and otherwise is the argument type.
| T | type of container |
| x | container |
Definition at line 80 of file log_inv_logit.hpp.
|
inline |
Returns the natural logarithm of the difference of the inverse logits of the specified arguments.
\[ \mathrm{log\_inv\_logit\_diff}(x,y) = \ln\left(\frac{1}{1+\exp(-x)}-\frac{1}{1+\exp(-y)}\right) \]
\[ \frac{\partial }{\partial x} = -\frac{e^x}{e^y-e^x}-\frac{e^x}{e^x+1} \]
\[ \frac{\partial }{\partial x} = -\frac{e^y}{e^x-e^y}-\frac{e^y}{e^y+1} \]
| T1 | type of x argument |
| T2 | type of y argument |
| x | first argument |
| y | second argument |
Definition at line 35 of file log_inv_logit_diff.hpp.
|
inline |
Returns fvar with the natural logarithm of the difference of the inverse logits of the specified arguments and its gradients.
\[ \mathrm{log\_inv\_logit\_diff}(x,y) = \ln\left(\frac{1}{1+\exp(-x)}-\frac{1}{1+\exp(-y)}\right) \]
\[ \frac{\partial }{\partial x} = -\frac{e^x}{e^y-e^x}-\frac{e^x}{e^x+1} \]
\[ \frac{\partial }{\partial x} = -\frac{e^y}{e^x-e^y}-\frac{e^y}{e^y+1} \]
| T | inner type of the fvar |
| x | Argument. |
| y | Argument. |
Definition at line 38 of file log_inv_logit_diff.hpp.
|
inline |
Definition at line 46 of file log_inv_logit_diff.hpp.
|
inline |
Definition at line 52 of file log_inv_logit_diff.hpp.
Definition at line 71 of file log_inv_logit_diff.hpp.
Definition at line 75 of file log_inv_logit_diff.hpp.
Definition at line 79 of file log_inv_logit_diff.hpp.
|
inline |
Return the log mixture density with specified mixing proportion and log densities.
\[ \mbox{log\_mix}(\theta, \lambda_1, \lambda_2) = \log \left( \theta \lambda_1 + (1 - \theta) \lambda_2 \right). \]
| [in] | theta | mixing proportion in [0, 1]. |
| [in] | lambda1 | first log density. |
| [in] | lambda2 | second log density. |
Definition at line 31 of file log_mix.hpp.
|
inline |
Return the log mixture density with specified mixing proportion and log densities.
| [in] | theta | mixing proportion in [0, 1]. |
| [in] | lambda1 | first log density. |
| [in] | lambda2 | second log density. |
Definition at line 48 of file log_mix.hpp.
|
inline |
Return the log mixture density with specified mixing proportion and log densities.
| [in] | theta | mixing proportion in [0, 1]. |
| [in] | lambda1 | first log density. |
| [in] | lambda2 | second log density. |
Definition at line 61 of file log_mix.hpp.
|
inline |
Return the log mixture density with specified mixing proportion and log densities.
| [in] | theta | mixing proportion in [0, 1]. |
| [in] | lambda1 | first log density. |
| [in] | lambda2 | second log density. |
Definition at line 74 of file log_mix.hpp.
|
inline |
Return the log mixture density with specified mixing proportion and log densities and its derivative at each.
\[ \mbox{log\_mix}(\theta, \lambda_1, \lambda_2) = \log \left( \theta \exp(\lambda_1) + (1 - \theta) \exp(\lambda_2) \right). \]
\[ \frac{\partial}{\partial \theta} \mbox{log\_mix}(\theta, \lambda_1, \lambda_2) = \dfrac{\exp(\lambda_1) - \exp(\lambda_2)} {\left( \theta \exp(\lambda_1) + (1 - \theta) \exp(\lambda_2) \right)} \]
\[ \frac{\partial}{\partial \lambda_1} \mbox{log\_mix}(\theta, \lambda_1, \lambda_2) = \dfrac{\theta \exp(\lambda_1)} {\left( \theta \exp(\lambda_1) + (1 - \theta) \exp(\lambda_2) \right)} \]
\[ \frac{\partial}{\partial \lambda_2} \mbox{log\_mix}(\theta, \lambda_1, \lambda_2) = \dfrac{\theta \exp(\lambda_2)} {\left( \theta \exp(\lambda_1) + (1 - \theta) \exp(\lambda_2) \right)} \]
| T_theta | theta scalar type. |
| T_lambda1 | lambda1 scalar type. |
| T_lambda2 | lambda2 scalar type. |
| [in] | theta | mixing proportion in [0, 1]. |
| [in] | lambda1 | first log density. |
| [in] | lambda2 | second log density. |
Definition at line 77 of file log_mix.hpp.
|
inline |
Return the log mixture density with specified mixing proportion and log densities.
| [in] | theta | mixing proportion in [0, 1]. |
| [in] | lambda1 | first log density. |
| [in] | lambda2 | second log density. |
Definition at line 87 of file log_mix.hpp.
|
inline |
Return the log mixture density with specified mixing proportion and log densities and its derivative at each.
\[ \mbox{log\_mix}(\theta, \lambda_1, \lambda_2) = \log \left( \theta \exp(\lambda_1) + (1 - \theta) \exp(\lambda_2) \right). \]
\[ \frac{\partial}{\partial \theta} \mbox{log\_mix}(\theta, \lambda_1, \lambda_2) = \dfrac{\exp(\lambda_1) - \exp(\lambda_2)} {\left( \theta \exp(\lambda_1) + (1 - \theta) \exp(\lambda_2) \right)} \]
\[ \frac{\partial}{\partial \lambda_1} \mbox{log\_mix}(\theta, \lambda_1, \lambda_2) = \dfrac{\theta \exp(\lambda_1)} {\left( \theta \exp(\lambda_1) + (1 - \theta) \exp(\lambda_2) \right)} \]
\[ \frac{\partial}{\partial \lambda_2} \mbox{log\_mix}(\theta, \lambda_1, \lambda_2) = \dfrac{\theta \exp(\lambda_2)} {\left( \theta \exp(\lambda_1) + (1 - \theta) \exp(\lambda_2) \right)} \]
| T | inner type of the fvar |
| [in] | theta | mixing proportion in [0, 1]. |
| [in] | lambda1 | first log density. |
| [in] | lambda2 | second log density. |
Definition at line 98 of file log_mix.hpp.
|
inline |
Return the log mixture density with specified mixing proportion and log densities.
| [in] | theta | mixing proportion in [0, 1]. |
| [in] | lambda1 | first log density. |
| [in] | lambda2 | second log density. |
Definition at line 101 of file log_mix.hpp.
|
inline |
Return the log mixture density with specified mixing proportion and log densities.
| [in] | theta | mixing proportion in [0, 1]. |
| [in] | lambda1 | first log density. |
| [in] | lambda2 | second log density. |
Definition at line 115 of file log_mix.hpp.
|
inline |
Definition at line 118 of file log_mix.hpp.
|
inline |
Definition at line 136 of file log_mix.hpp.
| return_type_t<T_theta, T_lam> stan::math::log_mix | ( | const T_theta & | theta, |
| const T_lam & | lambda | ||
| ) |
Return the log mixture density with specified mixing proportions and log densities.
\[ \frac{\partial }{\partial p_x} \log\left(\exp^{\log\left(p_1\right)+d_1}+\cdot\cdot\cdot+ \exp^{\log\left(p_n\right)+d_n}\right) =\frac{e^{d_x}}{e^{d_1}p_1+\cdot\cdot\cdot+e^{d_m}p_m} \]
\[ \frac{\partial }{\partial d_x} \log\left(\exp^{\log\left(p_1\right)+d_1}+\cdot\cdot\cdot+ \exp^{\log\left(p_n\right)+d_n}\right) =\frac{e^{d_x}p_x}{e^{d_1}p_1+\cdot\cdot\cdot+e^{d_m}p_m} \]
| theta | vector of mixing proportions in [0, 1]. |
| lambda | vector of log densities. |
Definition at line 143 of file log_mix.hpp.
|
inline |
Definition at line 154 of file log_mix.hpp.
|
inline |
Definition at line 173 of file log_mix.hpp.
|
inline |
Definition at line 189 of file log_mix.hpp.
|
inline |
Definition at line 205 of file log_mix.hpp.
| return_type_t<T_theta, std::vector<Eigen::Matrix<T_lam, R, C> > > stan::math::log_mix | ( | const T_theta & | theta, |
| const std::vector< Eigen::Matrix< T_lam, R, C >> & | lambda | ||
| ) |
Return the log mixture density given specified mixing proportions and array of log density vectors.
\[ \frac{\partial }{\partial p_x}\left[ \log\left(\exp^{\log\left(p_1\right)+d_1}+\cdot\cdot\cdot+ \exp^{\log\left(p_n\right)+d_n}\right)+ \log\left(\exp^{\log\left(p_1\right)+f_1}+\cdot\cdot\cdot+ \exp^{\log\left(p_n\right)+f_n}\right)\right] =\frac{e^{d_x}}{e^{d_1}p_1+\cdot\cdot\cdot+e^{d_m}p_m}+ \frac{e^{f_x}}{e^{f_1}p_1+\cdot\cdot\cdot+e^{f_m}p_m} \]
\[ \frac{\partial }{\partial d_x}\left[ \log\left(\exp^{\log\left(p_1\right)+d_1}+\cdot\cdot\cdot+ \exp^{\log\left(p_n\right)+d_n}\right) +\log\left(\exp^{\log\left(p_1\right)+f_1}+\cdot\cdot\cdot+ \exp^{\log\left(p_n\right)+f_n}\right)\right] =\frac{e^{d_x}p_x}{e^{d_1}p_1+\cdot\cdot\cdot+e^{d_m}p_m} \]
| theta | vector of mixing proportions in [0, 1]. |
| lambda | array containing vectors of log densities. |
Definition at line 222 of file log_mix.hpp.
| return_type_t<T_theta, std::vector<std::vector<T_lam> > > stan::math::log_mix | ( | const T_theta & | theta, |
| const std::vector< std::vector< T_lam >> & | lambda | ||
| ) |
Return the log mixture density given specified mixing proportions and array of log density arrays.
\[ \frac{\partial }{\partial p_x}\left[ \log\left(\exp^{\log\left(p_1\right)+d_1}+\cdot\cdot\cdot+ \exp^{\log\left(p_n\right)+d_n}\right)+ \log\left(\exp^{\log\left(p_1\right)+f_1}+\cdot\cdot\cdot+ \exp^{\log\left(p_n\right)+f_n}\right)\right] =\frac{e^{d_x}}{e^{d_1}p_1+\cdot\cdot\cdot+e^{d_m}p_m}+ \frac{e^{f_x}}{e^{f_1}p_1+\cdot\cdot\cdot+e^{f_m}p_m} \]
\[ \frac{\partial }{\partial d_x}\left[ \log\left(\exp^{\log\left(p_1\right)+d_1}+\cdot\cdot\cdot+ \exp^{\log\left(p_n\right)+d_n}\right) +\log\left(\exp^{\log\left(p_1\right)+f_1}+\cdot\cdot\cdot+ \exp^{\log\left(p_n\right)+f_n}\right)\right] =\frac{e^{d_x}p_x}{e^{d_1}p_1+\cdot\cdot\cdot+e^{d_m}p_m} \]
| theta | vector of mixing proportions in [0, 1]. |
| lambda | array containing arrays of log densities. |
Definition at line 317 of file log_mix.hpp.
|
inline |
Definition at line 23 of file log_mix.hpp.
|
inline |
Definition at line 28 of file log_mix.hpp.
|
inline |
Definition at line 38 of file log_modified_bessel_first_kind.hpp.
|
inline |
Definition at line 13 of file log_rising_factorial.hpp.
|
inline |
Definition at line 20 of file log_rising_factorial.hpp.
|
inline |
Definition at line 26 of file log_rising_factorial.hpp.
Definition at line 43 of file log_rising_factorial.hpp.
Definition at line 47 of file log_rising_factorial.hpp.
Definition at line 51 of file log_rising_factorial.hpp.
|
inline |
Return the natural logarithm of the rising factorial from the first specified argument to the second.
\[ \mbox{log\_rising\_factorial}(x, n) = \begin{cases} \textrm{error} & \mbox{if } x \leq 0\\ \ln x^{(n)} & \mbox{if } x > 0 \textrm{ and } -\infty \leq n \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } n = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log\_rising\_factorial}(x, n)}{\partial x} = \begin{cases} \textrm{error} & \mbox{if } x \leq 0\\ \Psi(x+n) - \Psi(x) & \mbox{if } x > 0 \textrm{ and } -\infty \leq n \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } n = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log\_rising\_factorial}(x, n)}{\partial n} = \begin{cases} \textrm{error} & \mbox{if } x \leq 0\\ \Psi(x+n) & \mbox{if } x > 0 \textrm{ and } -\infty \leq n \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } n = \textrm{NaN} \end{cases} \]
| T1 | type of first argument x |
| T2 | type of second argument n |
| [in] | x | first argument |
| [in] | n | second argument |
| std::domain_error | if the first argument is not positive |
Definition at line 52 of file log_rising_factorial.hpp.
|
inline |
Return the log softmax of the specified vector or container of vectors.
Return the natural logarithm of the softmax of the specified vector.
| T | Type of input vector or matrix. |
| [in] | x | Unconstrained input vector. |
| std::domain_error | If the input vector is size 0. |
\( \log \mbox{softmax}(y) \ = \ y - \log \sum_{k=1}^K \exp(y_k) \ = \ y - \mbox{log\_sum\_exp}(y). \)
For the log softmax function, the entries in the Jacobian are \( \frac{\partial}{\partial y_m} \mbox{softmax}(y)[k] = \left\{ \begin{array}{ll} 1 - \mbox{softmax}(y)[m] & \mbox{ if } m = k, \mbox{ and} \\[6pt] \mbox{softmax}(y)[m] & \mbox{ if } m \neq k. \end{array} \right. \)
| T | type of input vector to transform |
| [in] | x | vector to transform |
The gradient calculations are unfolded.
| T | Type of input vector or matrix. |
| [in] | x | Unconstrained input vector. |
| std::domain_error | If the input vector is size 0. |
Definition at line 23 of file log_softmax.hpp.
|
inline |
Definition at line 17 of file log_sum_exp.hpp.
Definition at line 25 of file log_sum_exp.hpp.
Definition at line 34 of file log_sum_exp.hpp.
Returns the log sum of exponentials.
Definition at line 47 of file log_sum_exp.hpp.
|
inline |
Calculates the log sum of exponetials without overflow.
\(\log (\exp(a) + \exp(b)) = m + \log(\exp(a-m) + \exp(b-m))\),
where \(m = max(a, b)\).
\[ \mbox{log\_sum\_exp}(x, y) = \begin{cases} \ln(\exp(x)+\exp(y)) & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log\_sum\_exp}(x, y)}{\partial x} = \begin{cases} \frac{\exp(x)}{\exp(x)+\exp(y)} & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{log\_sum\_exp}(x, y)}{\partial y} = \begin{cases} \frac{\exp(y)}{\exp(x)+\exp(y)} & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| T1 | type of the first variable |
| T2 | type of the second variable |
| a | the first variable |
| b | the second variable |
Definition at line 51 of file log_sum_exp.hpp.
Returns the log sum of exponentials.
Definition at line 53 of file log_sum_exp.hpp.
|
inline |
Return the log of the sum of the exponentiated values of the specified matrix of values.
Returns the log sum of exponentials.
The matrix may be a full matrix, a vector, a row vector, or a container of these.
The function is defined as follows to prevent overflow in exponential calculations.
\(\log \sum_{n=1}^N \exp(x_n) = \max(x) + \log \sum_{n=1}^N \exp(x_n - \max(x))\).
| T | Type of input vector or matrix. |
| [in] | x | Matrix of specified values. |
The matrix may be a full matrix, a vector, a row vector, or a container of these.
The function is defined as follows to prevent overflow in exponential calculations.
\(\log \sum_{n=1}^N \exp(x_n) = \max(x) + \log \sum_{n=1}^N \exp(x_n - \max(x))\).
| T | type of input vector or matrix |
| [in] | x | matrix of specified values |
| T | Type of input vector or matrix. |
| x | matrix |
Definition at line 54 of file log_sum_exp.hpp.
Returns the log sum of exponentials.
Definition at line 59 of file log_sum_exp.hpp.
|
inline |
The logical and function which returns 1 if both arguments are unequal to zero and 0 otherwise.
Equivalent to x1 != 0 && x2 != 0.
\[ \mbox{operator\&\&}(x, y) = \begin{cases} 0 & \mbox{if } x = 0 \textrm{ or } y=0 \\ 1 & \mbox{if } x, y \neq 0 \\[6pt] 1 & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| T1 | type of first argument |
| T2 | type of second argument |
| x1 | first argument |
| x2 | second argument |
true if both x1 and x2 are not equal to 0. Definition at line 30 of file logical_and.hpp.
|
inline |
Return 1 if the first argument is equal to the second.
Equivalent to x1 == x2.
| T1 | type of first argument |
| T2 | type of second argument |
| x1 | first argument |
| x2 | second argument |
true iff x1 == x2 Definition at line 19 of file logical_eq.hpp.
|
inline |
Return 1 if the first argument is strictly greater than the second.
Equivalent to x1 < x2.
| T1 | type of first argument |
| T2 | type of second argument |
| x1 | first argument |
| x2 | second argument |
true if x1 > x2 Definition at line 18 of file logical_gt.hpp.
|
inline |
Return 1 if the first argument is greater than or equal to the second.
Equivalent to x1 >= x2.
| T1 | type of first argument |
| T2 | type of second argument |
| x1 | first argument |
| x2 | second argument |
true if x1 >= x2 Definition at line 18 of file logical_gte.hpp.
|
inline |
Return 1 if the first argument is strictly less than the second.
Equivalent to x1 < x2.
| T1 | type of first argument |
| T2 | type of second argument |
| x1 | first argument |
| x2 | second argument |
true if x1 < x2 Definition at line 18 of file logical_lt.hpp.
|
inline |
Return 1 if the first argument is less than or equal to the second.
Equivalent to x1 <= x2.
| T1 | type of first argument |
| T2 | type of second argument |
| x1 | first argument |
| x2 | second argument |
true iff x1 <= x2 Definition at line 18 of file logical_lte.hpp.
|
inline |
The logical negation function which returns one if the input is equal to zero and zero otherwise.
| T | type of value |
| x | value |
Definition at line 17 of file logical_negation.hpp.
|
inline |
Return 1 if the first argument is unequal to the second.
Equivalent to x1 != x2.
| T1 | type of first argument |
| T2 | type of second argument |
| x1 | first argument |
| x2 | second argument |
true iff x1 != x2 Definition at line 19 of file logical_neq.hpp.
|
inline |
The logical or function which returns 1 if either argument is unequal to zero and 0 otherwise.
Equivalent to x1 != 0 || x2 != 0.
\[ \mbox{operator||}(x, y) = \begin{cases} 0 & \mbox{if } x, y=0 \\ 1 & \mbox{if } x \neq 0 \textrm{ or } y\neq0\\[6pt] 1 & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| T1 | type of first argument |
| T2 | type of second argument |
| x1 | first argument |
| x2 | second argument |
true if either x1 or x2 is not equal to 0. Definition at line 29 of file logical_or.hpp.
| return_type_t<T_y, T_loc, T_scale> stan::math::logistic_cdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 19 of file logistic_cdf.hpp.
| return_type_t<T_y, T_loc, T_scale> stan::math::logistic_lccdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 18 of file logistic_lccdf.hpp.
| return_type_t<T_y, T_loc, T_scale> stan::math::logistic_lcdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 18 of file logistic_lcdf.hpp.
| return_type_t<T_y, T_loc, T_scale> stan::math::logistic_lpdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 18 of file logistic_lpdf.hpp.
|
inline |
Definition at line 116 of file logistic_lpdf.hpp.
|
inline |
Return the log odds of the argument.
The logit function is defined as for \(x \in [0, 1]\) by returning the log odds of \(x\) treated as a probability,
\(\mbox{logit}(x) = \log \left( \frac{x}{1 - x} \right)\).
The inverse to this function is inv_logit.
\[ \mbox{logit}(x) = \begin{cases} \textrm{NaN}& \mbox{if } x < 0 \textrm{ or } x > 1\\ \ln\frac{x}{1-x} & \mbox{if } 0\leq x \leq 1 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{logit}(x)}{\partial x} = \begin{cases} \textrm{NaN}& \mbox{if } x < 0 \textrm{ or } x > 1\\ \frac{1}{x-x^2}& \mbox{if } 0\leq x\leq 1 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| u | argument |
|
inline |
|
inline |
Return the elementwise application of logit() to specified argument container.
The return type promotes the underlying scalar argument type to double if it is an integer, and otherwise is the argument type.
| T | type of container |
| x | container |
| return_type_t<T_y, T_loc, T_scale> stan::math::lognormal_cdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 18 of file lognormal_cdf.hpp.
| return_type_t<T_y, T_loc, T_scale> stan::math::lognormal_lccdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 18 of file lognormal_lccdf.hpp.
| return_type_t<T_y, T_loc, T_scale> stan::math::lognormal_lcdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 18 of file lognormal_lcdf.hpp.
| return_type_t<T_y, T_loc, T_scale> stan::math::lognormal_lpdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 18 of file lognormal_lpdf.hpp.
|
inline |
Definition at line 136 of file lognormal_lpdf.hpp.
|
inline |
Return the lower- and upper-bounded scalar derived by transforming the specified free scalar given the specified lower and upper bounds.
The transform is the transformed and scaled inverse logit,
\(f(x) = L + (U - L) \mbox{logit}^{-1}(x)\)
If the lower bound is negative infinity and upper bound finite, this function reduces to ub_constrain(x, ub). If the upper bound is positive infinity and the lower bound finite, this function reduces to lb_constrain(x, lb). If the upper bound is positive infinity and the lower bound negative infinity, this function reduces to identity_constrain(x).
| T | Type of scalar. |
| L | Type of lower bound. |
| U | Type of upper bound. |
| [in] | x | Free scalar to transform. |
| [in] | lb | Lower bound. |
| [in] | ub | Upper bound. |
| std::domain_error | if ub <= lb |
Definition at line 44 of file lub_constrain.hpp.
|
inline |
Return the lower- and upper-bounded scalar derived by transforming the specified free scalar given the specified lower and upper bounds and increment the specified log probability with the log absolute Jacobian determinant.
The transform is as defined in lub_constrain(T, double, double). The log absolute Jacobian determinant is given by
\(\log \left| \frac{d}{dx} \left( L + (U-L) \mbox{logit}^{-1}(x) \right) \right|\)
\( {} = \log | (U-L) \, (\mbox{logit}^{-1}(x)) \, (1 - \mbox{logit}^{-1}(x)) |\)
\( {} = \log (U - L) + \log (\mbox{logit}^{-1}(x)) + \log (1 - \mbox{logit}^{-1}(x))\)
If the lower bound is negative infinity and upper bound finite, this function reduces to ub_constrain(x, ub, lp). If the upper bound is positive infinity and the lower bound finite, this function reduces to lb_constrain(x, lb, lp). If the upper bound is positive infinity and the lower bound negative infinity, this function reduces to identity_constrain(x, lp).
| T | Type of scalar. |
| L | Type of lower bound. |
| U | Type of upper bound. |
| [in] | x | Free scalar to transform. |
| [in] | lb | Lower bound. |
| [in] | ub | Upper bound. |
| [in,out] | lp | Log probability scalar reference. |
| std::domain_error | if ub <= lb |
Definition at line 114 of file lub_constrain.hpp.
|
inline |
Return the unconstrained scalar that transforms to the specified lower- and upper-bounded scalar given the specified bounds.
The transform in lub_constrain(T, double, double), is reversed by a transformed and scaled logit,
\(f^{-1}(y) = \mbox{logit}(\frac{y - L}{U - L})\)
where \(U\) and \(L\) are the lower and upper bounds.
If the lower bound is negative infinity and upper bound finite, this function reduces to ub_free(y, ub). If the upper bound is positive infinity and the lower bound finite, this function reduces to lb_free(x, lb). If the upper bound is positive infinity and the lower bound negative infinity, this function reduces to identity_free(y).
| T | type of scalar |
| L | type of lower bound |
| U | type of upper bound |
| y | constrained value |
| lb | lower bound |
| ub | upper bound |
| std::invalid_argument | if the lower bound is greater than the upper bound, y is less than the lower bound, or y is greater than the upper bound |
Definition at line 46 of file lub_free.hpp.
|
inline |
Returns the difference between 1.0 and the next value representable.
Definition at line 207 of file constants.hpp.
| Eigen::Array<T, Eigen::Dynamic, 1> stan::math::make_nu | ( | const T & | eta, |
| size_t | K | ||
| ) |
Return the degrees of freedom for the t distribution that corresponds to the shape parameter in the LKJ distribution.
| T | scalar type |
| eta | LKJ distribution parameter in (0, inf) |
| K | number of variables in correlation matrix |
Definition at line 19 of file make_nu.hpp.
| Eigen::Matrix<return_type_t<T_shared_param, T_job_param>, Eigen::Dynamic, 1> stan::math::map_rect | ( | const Eigen::Matrix< T_shared_param, Eigen::Dynamic, 1 > & | shared_params, |
| const std::vector< Eigen::Matrix< T_job_param, Eigen::Dynamic, 1 >> & | job_params, | ||
| const std::vector< std::vector< double >> & | x_r, | ||
| const std::vector< std::vector< int >> & | x_i, | ||
| std::ostream * | msgs = nullptr |
||
| ) |
Map N function evaluations to parameters and data which are in rectangular format.
Each function evaluation may return a column vector of different sizes and the output is the concatenated vector from all evaluations.
In addition to job specific parameters, real and int data, a shared parameter vector is repeated in all evaluations. All input parameters are stored as vectors whereas data is stored as arrays.
For N jobs the output of this function is
[ f(shared_params, job_params[1], x_r[1], x_i[1]), f(shared_params, job_params[2], x_r[2], x_i[2]), ... ]'.
The function is implemented with serial execution and with parallelism using threading or MPI (TODO). The threading version is used if the compiler flag STAN_THREADS is set during compilation while the MPI version is only available if STAN_MPI is defined. The MPI parallelism takes precedence over serial or threading execution of the function.
For the threaded parallelism the N jobs are chunked into T blocks which are executed asynchronously using the async C++11 facility. This ensure that at most T threads are used, but the actual number of threads is controlled by the implementation of async provided by the compiler. Note that nested calls of map_rect will lead to a multiplicative increase in the number of job chunks generated. The number of threads T is controlled at runtime via the STAN_NUM_threads environment variable, see the get_num_threads function for details.
For the MPI version to work this function has these special non-standard conventions:
The functor F is expected to have the usual operator() function with signature
template <typename T1, typename T2> Eigen::Matrix<return_type_t<T1, T2>, Eigen::Dynamic, 1> operator()(const Eigen::Matrix<T1, Eigen::Dynamic, 1>& eta, const Eigen::Matrix<T2, Eigen::Dynamic, 1>& theta, const std::vector<double>& x_r, const std::vector<int>& x_i, std::ostream* msgs = 0) const { ... }
WARNING: For the MPI case, the data arguments are NOT checked if they are unchanged between repeated evaluations for a given call_id/functor F pair. This is silently assumed to be immutable between evaluations.
| T_shared_param | Type of shared parameters. |
| T_job_param | Type of job specific parameters. |
| shared_params | shared parameter vector passed as first argument to functor for all jobs |
| job_params | Array of job specific parameter vectors. All job specific parameters must have matching sizes. |
| x_r | Array of real arrays for each job. The first dimension must match the number of jobs (which is determined by the first dimension of job_params) and each entry must have the same size. |
| x_i | Array of int data with the same conventions as x_r. |
| msgs | Output stream for messages. |
| call_id | Label for functor/data combination. See above for details. |
| F | Functor which is applied to all job specific parameters with conventions described. |
Definition at line 123 of file map_rect.hpp.
|
inline |
Return the matrix exponential of the input matrix.
| T | type of elements in the matrix |
| [in] | A | Matrix to exponentiate. |
| <code>std::invalid_argument</code> | if the input matrix is not square. |
Definition at line 22 of file matrix_exp.hpp.
|
inline |
Return the matrix exponential of the input statically-sized square matrix.
| T | type of elements in the matrix |
| N | size of the input square matrix. |
| [in] | A | Matrix to exponentiate. |
Definition at line 46 of file matrix_exp.hpp.
|
inline |
Return the exponential of the input scalar when it's in the form of Eigen matrix.
| T | type of elements in the matrix |
Definition at line 66 of file matrix_exp.hpp.
| Mtype stan::math::matrix_exp_2x2 | ( | const Mtype & | A | ) |
Return the matrix exponential of a 2x2 matrix.
Reference for algorithm: http://mathworld.wolfram.com/MatrixExponential.html Note: algorithm only works if delta > 0;
| Mtype | type of elements in the matrix |
| [in] | A | 2x2 matrix to exponentiate. |
Definition at line 21 of file matrix_exp_2x2.hpp.
|
inline |
Return product of exp(A) and B, where A is a NxN double matrix, B is a NxCb double matrix, and t is a double.
| Cb | number of columns in matrix B, can be Eigen::Dynamic |
| [in] | A | Matrix |
| [in] | B | Matrix |
Definition at line 20 of file matrix_exp_multiply.hpp.
|
inline |
Wrapper of matrix_exp_action function for a more literal name.
| Ta | scalar type matrix A |
| Tb | scalar type matrix B |
| Cb | Columns matrix B |
| [in] | A | Matrix |
| [in] | B | Matrix |
Definition at line 26 of file matrix_exp_multiply.hpp.
| MatrixType stan::math::matrix_exp_pade | ( | const MatrixType & | arg | ) |
Computes the matrix exponential, using a Pade approximation, coupled with scaling and squaring.
| MatrixType | type of elements in the matrix |
| [in] | arg | matrix to exponentiate. |
Definition at line 20 of file matrix_exp_pade.hpp.
| return_type_t<T_y, T_Mu, T_Sigma, T_D> stan::math::matrix_normal_prec_lpdf | ( | const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > & | y, |
| const Eigen::Matrix< T_Mu, Eigen::Dynamic, Eigen::Dynamic > & | Mu, | ||
| const Eigen::Matrix< T_Sigma, Eigen::Dynamic, Eigen::Dynamic > & | Sigma, | ||
| const Eigen::Matrix< T_D, Eigen::Dynamic, Eigen::Dynamic > & | D | ||
| ) |
Definition at line 83 of file matrix_normal_prec_lpdf.hpp.
|
inline |
Returns the nth power of the specific matrix.
M^n = M * M * ... * M.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | M | a square matrix |
| [in] | n | exponent |
| std::domain_error | if the matrix contains NaNs or infinities. |
| std::invalid_argument | if the exponent is negative or the matrix is not square. |
Definition at line 25 of file matrix_power.hpp.
|
inline |
Returns the nth power of the specific matrix.
M^n = M * M * ... * M.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | M | a square matrix |
| [in] | n | exponent |
| std::domain_error | if the matrix contains NaNs or infinities. |
| std::invalid_argument | if the exponent is negative or the matrix is not square. |
Definition at line 133 of file matrix_power.hpp.
|
inline |
|
inline |
|
inline |
Returns the maximum coefficient in the specified matrix, vector, or row vector.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | specified matrix, vector, or row vector |
| size_t stan::math::max_size | ( | const T1 & | x1, |
| const T2 & | x2 | ||
| ) |
Definition at line 10 of file max_size.hpp.
| size_t stan::math::max_size | ( | const T1 & | x1, |
| const T2 & | x2, | ||
| const T3 & | x3 | ||
| ) |
Definition at line 17 of file max_size.hpp.
| size_t stan::math::max_size | ( | const T1 & | x1, |
| const T2 & | x2, | ||
| const T3 & | x3, | ||
| const T4 & | x4 | ||
| ) |
Definition at line 25 of file max_size.hpp.
| size_t stan::math::max_size | ( | const T1 & | x1, |
| const T2 & | x2, | ||
| const T3 & | x3, | ||
| const T4 & | x4, | ||
| const T5 & | x5 | ||
| ) |
Definition at line 34 of file max_size.hpp.
| size_t stan::math::max_size_mvt | ( | const T1 & | x1, |
| const T2 & | x2 | ||
| ) |
Definition at line 11 of file max_size_mvt.hpp.
| size_t stan::math::max_size_mvt | ( | const T1 & | x1, |
| const T2 & | x2, | ||
| const T3 & | x3 | ||
| ) |
Definition at line 18 of file max_size_mvt.hpp.
| size_t stan::math::max_size_mvt | ( | const T1 & | x1, |
| const T2 & | x2, | ||
| const T3 & | x3, | ||
| const T4 & | x4 | ||
| ) |
Definition at line 26 of file max_size_mvt.hpp.
|
inline |
Definition at line 18 of file mdivide_left.hpp.
|
inline |
Returns the solution of the system Ax=b.
| T1 | type of elements in first matrix |
| T2 | type of elements in right-hand side matrix or vector |
| R1 | number of rows in the first matrix, can be Eigen::Dynamic |
| C1 | number of columns in the first matrix, can be Eigen::Dynamic |
| R2 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C2 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| A | Matrix. |
| b | Right hand side matrix or vector. |
| std::domain_error | if A is not square or the rows of b don't match the size of A. |
Definition at line 30 of file mdivide_left.hpp.
|
inline |
Definition at line 57 of file mdivide_left.hpp.
|
inline |
Definition at line 77 of file mdivide_left.hpp.
|
inline |
Definition at line 176 of file mdivide_left.hpp.
|
inline |
Definition at line 196 of file mdivide_left.hpp.
|
inline |
Definition at line 217 of file mdivide_left.hpp.
|
inline |
Returns the solution of the system Ax=b given an LDLT_factor of A.
| R1 | number of rows in the LDLT_factor, can be Eigen::Dynamic |
| C1 | number of columns in the LDLT_factor, can be Eigen::Dynamic |
| R2 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C2 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| T2 | type of elements in the right-hand side matrix or vector |
| A | LDLT_factor |
| b | right-hand side matrix or vector |
| std::domain_error | if rows of b don't match the size of A. |
Definition at line 30 of file mdivide_left_ldlt.hpp.
|
inline |
Returns the solution of the system Ax=b given an LDLT_factor of A.
| T1 | type of elements in the LDLT_factor |
| T2 | type of elements in right-hand side matrix or vector |
| R1 | number of rows in the LDLT_factor, can be Eigen::Dynamic |
| C1 | number of columns in the LDLT_factor, can be Eigen::Dynamic |
| R2 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C2 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| A | LDLT_factor |
| b | Right hand side matrix or vector. |
| std::domain_error | if rows of b don't match the size of A. |
Definition at line 31 of file mdivide_left_ldlt.hpp.
|
inline |
Returns the solution of the system Ax=b given an LDLT_factor of A.
| R1 | number of rows in the LDLT_factor, can be Eigen::Dynamic |
| C1 | number of columns in the LDLT_factor, can be Eigen::Dynamic |
| R2 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C2 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| A | LDLT_factor |
| b | Right hand side matrix or vector. |
| std::domain_error | if rows of b don't match the size of A. |
Definition at line 208 of file mdivide_left_ldlt.hpp.
|
inline |
Returns the solution of the system Ax=b given an LDLT_factor of A.
| R1 | number of rows in the LDLT_factor, can be Eigen::Dynamic |
| C1 | number of columns in the LDLT_factor, can be Eigen::Dynamic |
| R2 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C2 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| A | LDLT_factor |
| b | Right hand side matrix or vector. |
| std::domain_error | if rows of b don't match the size of A. |
Definition at line 241 of file mdivide_left_ldlt.hpp.
|
inline |
Returns the solution of the system Ax=b given an LDLT_factor of A.
| R1 | number of rows in the LDLT_factor, can be Eigen::Dynamic |
| C1 | number of columns in the LDLT_factor, can be Eigen::Dynamic |
| R2 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C2 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| A | LDLT_factor |
| b | Right hand side matrix or vector. |
| std::domain_error | if rows of b don't match the size of A. |
Definition at line 274 of file mdivide_left_ldlt.hpp.
|
inline |
Returns the solution of the system Ax=b where A is symmetric positive definite.
| T1 | type of elements in the first matrix |
| T2 | type of elements in the right-hand side matrix or vector |
| R1 | number of rows in the first matrix, can be Eigen::Dynamic |
| C1 | number of columns in the first matrix, can be Eigen::Dynamic |
| R2 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C2 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| A | Matrix. |
| b | Right hand side matrix or vector. |
| std::domain_error | if A is not square or the rows of b don't match the size of A. |
Definition at line 31 of file mdivide_left_spd.hpp.
|
inline |
Definition at line 144 of file mdivide_left_spd.hpp.
|
inline |
Definition at line 163 of file mdivide_left_spd.hpp.
|
inline |
Definition at line 183 of file mdivide_left_spd.hpp.
|
inline |
Returns the solution of the system Ax=b when A is triangular.
| TriView | Specifies whether A is upper (Eigen::Upper) or lower triangular (Eigen::Lower). |
| T1 | type of elements in the triangular matrix |
| T2 | type of elements in the right-hand side matrix or vector |
| R1 | number of rows in the triangular matrix, can be Eigen::Dynamic |
| C1 | number of columns in the triangular matrix, can be Eigen::Dynamic |
| R2 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C2 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| A | Triangular matrix. |
| b | Right hand side matrix or vector. |
| std::domain_error | if A is not square or the rows of b don't match the size of A. |
Definition at line 35 of file mdivide_left_tri.hpp.
|
inline |
Returns the solution of the system Ax=b when A is triangular and b=I.
| T | type of elements in the matrix |
| R1 | number of rows, can be Eigen::Dynamic |
| C1 | number of columns, can be Eigen::Dynamic |
| A | Triangular matrix. |
| std::domain_error | if A is not square |
Definition at line 59 of file mdivide_left_tri.hpp.
|
inline |
Returns the solution of the system Ax=b when A is triangular and A and b are matrices of doubles.
| TriView | Specifies whether A is upper (Eigen::Upper) or lower triangular (Eigen::Lower). |
| T1 | type of elements in the triangular matrix |
| T2 | type of elements in the right-hand side matrix or vector |
| R1 | number of rows in the triangular matrix, can be Eigen::Dynamic |
| C1 | number of columns in the triangular matrix, can be Eigen::Dynamic |
| R2 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| A | Triangular matrix. |
| b | Right hand side matrix or vector. |
| std::domain_error | if A is not square or the rows of b don't match the size of A. |
Definition at line 89 of file mdivide_left_tri.hpp.
|
inline |
Returns the solution of the system Ax=b when A is triangular, b=I and both are matrices of doubles.
| TriView | Specifies whether A is upper (Eigen::Upper) or lower triangular (Eigen::Lower). |
| R1 | number of rows, can be Eigen::Dynamic |
| C1 | number of columns, can be Eigen::Dynamic |
| A | Triangular matrix. |
| std::domain_error | if A is not square |
Definition at line 124 of file mdivide_left_tri.hpp.
|
inline |
Definition at line 315 of file mdivide_left_tri.hpp.
|
inline |
Definition at line 335 of file mdivide_left_tri.hpp.
|
inline |
Definition at line 356 of file mdivide_left_tri.hpp.
|
inline |
Definition at line 16 of file mdivide_left_tri_low.hpp.
|
inline |
Returns the solution of the system Ax=b when A is lower triangular.
| T1 | type of elements in A |
| T2 | type of elements in b |
| A | Triangular matrix. |
| b | Right hand side matrix or vector. |
| std::domain_error | if A is not square or the rows of b don't match the size of A. |
Definition at line 24 of file mdivide_left_tri_low.hpp.
|
inline |
Return the result of left dividing the second argument by the first argument.
Calling mdivide_left_tri_low(A, b) with divisor A and dividend b is more arithmetically stable than calling inv(A) * b.
| T1 | type of elements in the divisor matrix |
| T2 | type of elements in the dividend matrix |
| R1 | number rows in the divisor matrix, can be Eigen::Dynamic |
| C1 | number columns in the divisor matrix, can be Eigen::Dynamic |
| R2 | number rows in the dividend matrix, can be Eigen::Dynamic |
| C2 | number columns in the dividend matrix, can be Eigen::Dynamic |
| A | divisor, an invertible square matrix |
| b | dividend, a matrix or vector with the same number of rows as the divisor has columns |
| std::invalid_argument | if the divisor is not square or the dividend does not have the same number of rows as the divisor has columns. |
Definition at line 34 of file mdivide_left_tri_low.hpp.
|
inline |
Returns the solution of the system Ax=b when A is triangular and b=I.
| T | type of elements in A |
| R1 | number of rows in A |
| C1 | number of columns in A |
| A | Triangular matrix. |
| std::domain_error | if A is not square |
Definition at line 41 of file mdivide_left_tri_low.hpp.
|
inline |
Definition at line 42 of file mdivide_left_tri_low.hpp.
|
inline |
Definition at line 57 of file mdivide_left_tri_low.hpp.
|
inline |
Definition at line 93 of file mdivide_left_tri_low.hpp.
|
inline |
Definition at line 18 of file mdivide_right.hpp.
|
inline |
Returns the solution of the system xA=b.
| T1 | type of elements in the right-hand side matrix or vector |
| T2 | type of elements in the second matrix |
| R1 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C1 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| R2 | number of rows in the second matrix, can be Eigen::Dynamic |
| C2 | number of columns in the second matrix, can be Eigen::Dynamic |
| A | Matrix. |
| b | Right hand side matrix or vector. |
| std::domain_error | if A is not square or the rows of b don't match the size of A. |
Definition at line 30 of file mdivide_right.hpp.
|
inline |
Definition at line 57 of file mdivide_right.hpp.
|
inline |
Definition at line 78 of file mdivide_right.hpp.
|
inline |
Returns the solution of the system xA=b given an LDLT_factor of A.
| T1 | type of elements in right-hand side matrix or vector |
| T2 | type of elements in the LDLT_factor |
| R1 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C1 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| R2 | number of rows in the LDLT_factor, can be Eigen::Dynamic |
| C2 | number of columns in the LDLT_factor, can be Eigen::Dynamic |
| A | LDLT_factor |
| b | Right hand side matrix or vector. |
| std::domain_error | if rows of b don't match the size of A. |
Definition at line 32 of file mdivide_right_ldlt.hpp.
|
inline |
Definition at line 44 of file mdivide_right_ldlt.hpp.
|
inline |
Returns the solution of the system xA=b where A is symmetric positive definite.
| T1 | type of elements in the right-hand side matrix or vector |
| T2 | type of elements in the second matrix |
| R1 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C1 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| R2 | number of rows in the second matrix, can be Eigen::Dynamic |
| C2 | number of columns in the second matrix, can be Eigen::Dynamic |
| b | right-hand side matrix or vector |
| A | matrix |
| std::domain_error | if A is not square or the rows of b don't match the size of A. |
Definition at line 32 of file mdivide_right_spd.hpp.
|
inline |
Returns the solution of the system xA=b when A is triangular.
| TriView | Specifies whether A is upper (Eigen::Upper) or lower triangular (Eigen::Lower). |
| T1 | type of elements in the right-hand side matrix or vector |
| T2 | type of elements in the triangular matrix |
| R1 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C1 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| R2 | number of rows in the triangular matrix, can be Eigen::Dynamic |
| C2 | number of columns in the triangular matrix, can be Eigen::Dynamic |
| A | Triangular matrix. Specify upper or lower with TriView being Eigen::Upper or Eigen::Lower. |
| b | Right hand side matrix or vector. |
| std::domain_error | if A is not square or the rows of b don't match the size of A. |
Definition at line 36 of file mdivide_right_tri.hpp.
|
inline |
Returns the solution of the system xA=b when A is triangular and A and b are matrices of doubles.
| TriView | Specifies whether A is upper (Eigen::Upper) or lower triangular (Eigen::Lower). |
| R1 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C1 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| R2 | number of rows in the triangular matrix, can be Eigen::Dynamic |
| C2 | number of columns in the triangular matrix, can be Eigen::Dynamic |
| A | Triangular matrix. Specify upper or lower with TriView being Eigen::Upper or Eigen::Lower. |
| b | Right hand side matrix or vector. |
| std::domain_error | if A is not square or the rows of b don't match the size of A. |
Definition at line 77 of file mdivide_right_tri.hpp.
|
inline |
Definition at line 15 of file mdivide_right_tri_low.hpp.
|
inline |
Returns the solution of the system Ax=b where A is a lower triangular matrix.
| A | Matrix. |
| b | Right hand side matrix or vector. |
| std::domain_error | if A is not square or the rows of b don't match the size of A. |
Definition at line 23 of file mdivide_right_tri_low.hpp.
|
inline |
Returns the solution of the system x tri(A) = b when tri(A) is a lower triangular view of the matrix A.
| T1 | type of elements in the right-hand side matrix or vector |
| T2 | type of elements in the second matrix |
| R1 | number of rows in the right-hand side matrix, can be Eigen::Dynamic |
| C1 | number of columns in the right-hand side matrix, can be Eigen::Dynamic |
| R2 | number of rows in the second matrix, can be Eigen::Dynamic |
| C2 | number of columns in the second matrix, can be Eigen::Dynamic |
| b | right-hand side matrix or vector |
| A | matrix |
| std::domain_error | if A is not square or the rows of b don't match the size of A. |
Definition at line 31 of file mdivide_right_tri_low.hpp.
|
inline |
Definition at line 56 of file mdivide_right_tri_low.hpp.
|
inline |
Definition at line 85 of file mdivide_right_tri_low.hpp.
|
inline |
Returns the sample mean (i.e., average) of the coefficients in the specified standard vector.
| T | type of elements in the vector |
| v | Specified vector. |
| std::domain_error | if the size of the vector is less than 1. |
|
inline |
Returns the sample mean (i.e., average) of the coefficients in the specified vector, row vector, or matrix.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | Specified vector, row vector, or matrix. |
|
inline |
|
inline |
|
inline |
Returns the minimum coefficient in the specified matrix, vector, or row vector.
| T | type of elements in the matrix, vector or row vector |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | specified matrix, vector, or row vector |
|
inline |
|
inline |
Definition at line 12 of file modified_bessel_first_kind.hpp.
Definition at line 26 of file modified_bessel_first_kind.hpp.
|
inline |
\[ \mbox{modified\_bessel\_first\_kind}(v, z) = \begin{cases} I_v(z) & \mbox{if } -\infty\leq z \leq \infty \\[6pt] \textrm{error} & \mbox{if } z = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{modified\_bessel\_first\_kind}(v, z)}{\partial z} = \begin{cases} \frac{\partial\, I_v(z)}{\partial z} & \mbox{if } -\infty\leq z\leq \infty \\[6pt] \textrm{error} & \mbox{if } z = \textrm{NaN} \end{cases} \]
\[ {I_v}(z) = \left(\frac{1}{2}z\right)^v\sum_{k=0}^\infty \frac{\left(\frac{1}{4}z^2\right)^k}{k!\Gamma(v+k+1)} \]
\[ \frac{\partial \, I_v(z)}{\partial z} = I_{v-1}(z)-\frac{v}{z}I_v(z) \]
Definition at line 37 of file modified_bessel_first_kind.hpp.
|
inline |
Definition at line 12 of file modified_bessel_second_kind.hpp.
Definition at line 26 of file modified_bessel_second_kind.hpp.
|
inline |
\[ \mbox{modified\_bessel\_second\_kind}(v, z) = \begin{cases} \textrm{error} & \mbox{if } z \leq 0 \\ K_v(z) & \mbox{if } z > 0 \\[6pt] \textrm{NaN} & \mbox{if } z = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{modified\_bessel\_second\_kind}(v, z)}{\partial z} = \begin{cases} \textrm{error} & \mbox{if } z \leq 0 \\ \frac{\partial\, K_v(z)}{\partial z} & \mbox{if } z > 0 \\[6pt] \textrm{NaN} & \mbox{if } z = \textrm{NaN} \end{cases} \]
\[ {K_v}(z) = \frac{\pi}{2}\cdot\frac{I_{-v}(z) - I_{v}(z)}{\sin(v\pi)} \]
\[ \frac{\partial \, K_v(z)}{\partial z} = -\frac{v}{z}K_v(z)-K_{v-1}(z) \]
Definition at line 42 of file modified_bessel_second_kind.hpp.
|
inline |
Definition at line 12 of file modulus.hpp.
| std::unique_lock< std::mutex > stan::math::mpi_broadcast_command | ( | ) |
Broadcasts default constructible commands to the cluster.
| T | default constructible command class derived from mpi_command |
Definition at line 238 of file mpi_cluster.hpp.
|
inline |
Broadcasts a command instance to the listening cluster.
This function must be called on the root whenever the cluster is in listening mode and errs otherwise.
| command | shared pointer to an instance of a command class derived from mpi_command |
Definition at line 209 of file mpi_cluster.hpp.
|
inline |
Maps jobs of given chunk size to workers and returning a vector of counts.
The returned vector is indexed by the rank of each worker and has size equal to the # of workers. Each count per worker is the product of the number of assigned jobs times the chunk size. The jobs are deterministically assigned to workers. This is used for static scheduling of jobs internally.
So with num_workers workers, then the counts for worker with given rank is
chunks[rank] = floor(num_jobs/num_workers) * chunk_size
The remainder jobs num_jobs % num_workers are assigned to rank >=1 workers such that the root (rank = 0) has a little less assigned chunks unless num_jobs < num_workes in which case the first num_jobs nodes receive a job (including the root).
| num_jobs | Total number of jobs to dispatch |
| chunk_size | Chunk size per job |
Definition at line 84 of file mpi_cluster.hpp.
|
inline |
Definition at line 85 of file multi_gp_cholesky_lpdf.hpp.
|
inline |
Definition at line 81 of file multi_gp_lpdf.hpp.
|
inline |
Definition at line 164 of file multi_normal_cholesky_lpdf.hpp.
| return_type_t<T_y, T_loc, T_covar> stan::math::multi_normal_lpdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_covar & | Sigma | ||
| ) |
Definition at line 16 of file multi_normal_lpdf.hpp.
|
inline |
Definition at line 118 of file multi_normal_lpdf.hpp.
| return_type_t<T_y, T_loc, T_covar> stan::math::multi_normal_prec_lpdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_covar & | Sigma | ||
| ) |
Definition at line 17 of file multi_normal_prec_lpdf.hpp.
|
inline |
Definition at line 119 of file multi_normal_prec_lpdf.hpp.
|
inline |
Definition at line 142 of file multi_student_t_lpdf.hpp.
| return_type_t<T_prob> stan::math::multinomial_lpmf | ( | const std::vector< int > & | ns, |
| const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > & | theta | ||
| ) |
Definition at line 15 of file multinomial_lpmf.hpp.
| return_type_t<T_prob> stan::math::multinomial_lpmf | ( | const std::vector< int > & | ns, |
| const Eigen::Matrix< T_prob, Eigen::Dynamic, 1 > & | theta | ||
| ) |
Definition at line 45 of file multinomial_lpmf.hpp.
|
inline |
Definition at line 13 of file multinomial_rng.hpp.
|
inline |
Definition at line 14 of file multiply.hpp.
|
inline |
Definition at line 23 of file multiply.hpp.
|
inline |
Return specified matrix multiplied by specified scalar.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| T1 | type of elements in the matrix |
| T2 | type of scalar |
| m | matrix |
| c | scalar |
Definition at line 29 of file multiply.hpp.
|
inline |
Definition at line 32 of file multiply.hpp.
|
inline |
Definition at line 41 of file multiply.hpp.
|
inline |
Definition at line 47 of file multiply.hpp.
|
inline |
Return specified scalar multiplied by specified matrix.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| T1 | type of scalar |
| T2 | type of elements in the matrix |
| c | scalar |
| m | matrix |
Definition at line 48 of file multiply.hpp.
|
inline |
Definition at line 53 of file multiply.hpp.
|
inline |
Definition at line 59 of file multiply.hpp.
|
inline |
Return the product of the specified matrices.
The number of columns in the first matrix must be the same as the number of rows in the second matrix.
| R1 | number of rows in the first matrix, can be Eigen::Dynamic |
| C1 | number of columns in the first matrix, can be Eigen::Dynamic |
| R2 | number of rows in the second matrix, can be Eigen::Dynamic |
| C2 | number of columns in the second matrix, can be Eigen::Dynamic |
| T1 | type of elements in first matrix |
| T2 | type of elements in second matrix |
| m1 | first matrix |
| m2 | second matrix |
| <code>std::invalid_argument</code> | if the number of columns of m1 does not match the number of rows of m2. |
Definition at line 73 of file multiply.hpp.
|
inline |
Definition at line 75 of file multiply.hpp.
|
inline |
Definition at line 91 of file multiply.hpp.
|
inline |
Definition at line 107 of file multiply.hpp.
|
inline |
Return the scalar product of the specified row vector and specified column vector.
The return is the same as the dot product. The two vectors must be the same size.
| C1 | number of columns in row vector, can be Eigen::Dynamic |
| R2 | number of rows in column vector, can be Eigen::Dynamic |
| T1 | type of elements in row vector |
| T2 | type of elements in column vector |
| rv | row vector |
| v | column vector |
| <code>std::invalid_argument</code> | if rv and v are not the same size |
Definition at line 108 of file multiply.hpp.
|
inline |
Definition at line 114 of file multiply.hpp.
|
inline |
Definition at line 121 of file multiply.hpp.
|
inline |
Return product of scalars.
| T1 | type of first scalar |
| T2 | type of second scalar |
| m | scalar |
| c | scalar |
Definition at line 124 of file multiply.hpp.
|
inline |
Return the product of two scalars.
| T1 | scalar type of v |
| T2 | scalar type of c |
| [in] | v | First scalar |
| [in] | c | Specified scalar |
Definition at line 557 of file multiply.hpp.
|
inline |
Return the product of scalar and matrix.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | c | scalar of var type |
| [in] | m | matrix of var type |
Definition at line 571 of file multiply.hpp.
|
inline |
Return the product of scalar and matrix.
| Arith | an arithmetic type |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | c | scalar of arithmetic type |
| [in] | m | matrix of var type |
Definition at line 588 of file multiply.hpp.
|
inline |
Return the product of scalar and matrix.
| Arith | an arithmetic type |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | c | scalar of var type |
| [in] | m | matrix of arithmetic type |
Definition at line 605 of file multiply.hpp.
|
inline |
Return the product of matrix and scalar.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | m | matrix of var type |
| [in] | c | scalar of var type |
Definition at line 620 of file multiply.hpp.
|
inline |
Return the product of matrix and scalar.
| Arith | an arithmetic type |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | m | matrix of arithmetic type |
| [in] | c | scalar of var type |
Definition at line 637 of file multiply.hpp.
|
inline |
Return the product of matrix and scalar.
| Arith | an arithmetic type |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | m | matrix of var type |
| [in] | c | scalar of arithmetic type |
Definition at line 654 of file multiply.hpp.
|
inline |
Return the product of two matrices.
| Ta | type of elements in matrix A |
| Ra | number of rows in matrix A, can be Eigen::Dynamic |
| Ca | number of columns in matrix A and rows in matrix B |
| Tb | type of elements in matrix B |
| Cb | number of columns in matrix B, can be Eigen::Dynamic |
| [in] | A | Matrix |
| [in] | B | Matrix |
Definition at line 674 of file multiply.hpp.
|
inline |
Return the scalar product of a row vector and a vector.
| Ta | type of elements in matrix A |
| Ca | number of columns in matrix A and rows in matrix B |
| Tb | type of elements in matrix B |
| [in] | A | Row vector |
| [in] | B | Column vector |
Definition at line 704 of file multiply.hpp.
|
inline |
Definition at line 13 of file multiply_log.hpp.
Definition at line 20 of file multiply_log.hpp.
Definition at line 26 of file multiply_log.hpp.
|
inline |
Calculate the value of the first argument times log of the second argument while behaving properly with 0 inputs.
\( a * \log b \).
\[ \mbox{multiply\_log}(x, y) = \begin{cases} 0 & \mbox{if } x=y=0\\ x\ln y & \mbox{if } x, y\neq0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{multiply\_log}(x, y)}{\partial x} = \begin{cases} \infty & \mbox{if } x=y=0\\ \ln y & \mbox{if } x, y\neq 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{multiply\_log}(x, y)}{\partial y} = \begin{cases} \infty & \mbox{if } x=y=0\\ \frac{x}{y} & \mbox{if } x, y\neq 0 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| T_a | type of the first variable |
| T_b | type of the second variable |
| a | the first variable |
| b | the second variable |
Definition at line 51 of file multiply_log.hpp.
Return the value of a*log(b).
When both a and b are 0, the value returned is 0. The partial deriviative with respect to a is log(b). The partial deriviative with respect to b is a/b. When a and b are both 0, this is set to Inf.
| a | First variable. |
| b | Second variable. |
Definition at line 74 of file multiply_log.hpp.
Return the value of a*log(b).
When both a and b are 0, the value returned is 0. The partial deriviative with respect to a is log(b).
| a | First variable. |
| b | Second scalar. |
Definition at line 87 of file multiply_log.hpp.
Return the value of a*log(b).
When both a and b are 0, the value returned is 0. The partial deriviative with respect to b is a/b. When a and b are both 0, this is set to Inf.
| a | First scalar. |
| b | Second variable. |
Definition at line 101 of file multiply_log.hpp.
|
inline |
Definition at line 13 of file multiply_lower_tri_self_transpose.hpp.
Definition at line 14 of file multiply_lower_tri_self_transpose.hpp.
Returns the result of multiplying the lower triangular portion of the input matrix by its own transpose.
| L | Matrix to multiply. |
| std::domain_error | If the input matrix is not square. |
Definition at line 19 of file multiply_lower_tri_self_transpose.hpp.
| return_type_t<T_location, T_precision> stan::math::neg_binomial_2_cdf | ( | const T_n & | n, |
| const T_location & | mu, | ||
| const T_precision & | phi | ||
| ) |
Definition at line 22 of file neg_binomial_2_cdf.hpp.
| return_type_t<T_location, T_precision> stan::math::neg_binomial_2_lccdf | ( | const T_n & | n, |
| const T_location & | mu, | ||
| const T_precision & | phi | ||
| ) |
Definition at line 16 of file neg_binomial_2_lccdf.hpp.
| return_type_t<T_location, T_precision> stan::math::neg_binomial_2_lcdf | ( | const T_n & | n, |
| const T_location & | mu, | ||
| const T_precision & | phi | ||
| ) |
Definition at line 17 of file neg_binomial_2_lcdf.hpp.
|
inline |
Definition at line 198 of file neg_binomial_2_log_glm_lpmf.hpp.
|
inline |
Definition at line 228 of file neg_binomial_2_log_glm_lpmf.hpp.
| return_type_t<T_log_location, T_precision> stan::math::neg_binomial_2_log_lpmf | ( | const T_n & | n, |
| const T_log_location & | eta, | ||
| const T_precision & | phi | ||
| ) |
Definition at line 23 of file neg_binomial_2_log_lpmf.hpp.
|
inline |
Definition at line 130 of file neg_binomial_2_log_lpmf.hpp.
| return_type_t<T_location, T_precision> stan::math::neg_binomial_2_lpmf | ( | const T_n & | n, |
| const T_location & | mu, | ||
| const T_precision & | phi | ||
| ) |
Definition at line 21 of file neg_binomial_2_lpmf.hpp.
|
inline |
Definition at line 121 of file neg_binomial_2_lpmf.hpp.
| return_type_t<T_shape, T_inv_scale> stan::math::neg_binomial_cdf | ( | const T_n & | n, |
| const T_shape & | alpha, | ||
| const T_inv_scale & | beta | ||
| ) |
Definition at line 23 of file neg_binomial_cdf.hpp.
| return_type_t<T_shape, T_inv_scale> stan::math::neg_binomial_lccdf | ( | const T_n & | n, |
| const T_shape & | alpha, | ||
| const T_inv_scale & | beta | ||
| ) |
Definition at line 24 of file neg_binomial_lccdf.hpp.
| return_type_t<T_shape, T_inv_scale> stan::math::neg_binomial_lcdf | ( | const T_n & | n, |
| const T_shape & | alpha, | ||
| const T_inv_scale & | beta | ||
| ) |
Definition at line 24 of file neg_binomial_lcdf.hpp.
| return_type_t<T_shape, T_inv_scale> stan::math::neg_binomial_lpmf | ( | const T_n & | n, |
| const T_shape & | alpha, | ||
| const T_inv_scale & | beta | ||
| ) |
Definition at line 28 of file neg_binomial_lpmf.hpp.
|
inline |
Definition at line 140 of file neg_binomial_lpmf.hpp.
|
inline |
|
inlinestatic |
Definition at line 10 of file nested_size.hpp.
|
inline |
Definition at line 196 of file normal_id_glm_lpdf.hpp.
|
inline |
Definition at line 203 of file normal_id_glm_lpdf.hpp.
|
inline |
Definition at line 18 of file normal_lccdf.hpp.
|
inline |
Definition at line 21 of file normal_lcdf.hpp.
|
inline |
Definition at line 112 of file normal_lpdf.hpp.
|
inline |
Definition at line 138 of file normal_sufficient_lpdf.hpp.
|
inline |
Return (quiet) not-a-number.
Definition at line 199 of file constants.hpp.
|
inline |
Returns 1, the number of elements in a primitive type.
| T | scalar type |
| x | Argument of primitive type. |
Definition at line 18 of file num_elements.hpp.
|
inline |
Returns the size of the specified matrix.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | argument matrix |
Definition at line 33 of file num_elements.hpp.
|
inline |
Returns the number of elements in the specified vector.
This assumes it is not ragged and that each of its contained elements has the same number of elements.
| T | type of elements in the vector |
| v | argument vector |
Definition at line 47 of file num_elements.hpp.
|
inline |
Return the linearly transformed value for the specified unconstrained input and specified offset and multiplier.
The transform applied is
\(f(x) = mu + sigma * x\)
where mu is the offset and sigma is the multiplier.
If the offset is zero and the multiplier is one this reduces to identity_constrain(x).
| T | type of scalar |
| M | type of offset |
| S | type of multiplier |
| [in] | x | Unconstrained scalar input |
| [in] | mu | offset of constrained output |
| [in] | sigma | multiplier of constrained output |
| std::domain_error | if sigma <= 0 |
| std::domain_error | if mu is not finite |
Definition at line 38 of file offset_multiplier_constrain.hpp.
|
inline |
Return the linearly transformed value for the specified unconstrained input and specified offset and multiplier, incrementing the specified reference with the log absolute Jacobian determinant of the transform.
The transform applied is
\(f(x) = mu + sigma * x\)
where mu is the offset and sigma is the multiplier.
If the offset is zero and multiplier is one, this function reduces to identity_constraint(x, lp).
| T | type of scalar |
| M | type of offset |
| S | type of multiplier |
| [in] | x | Unconstrained scalar input |
| [in] | mu | offset of constrained output |
| [in] | sigma | multiplier of constrained output |
| [in,out] | lp | Reference to log probability to increment. |
| std::domain_error | if sigma <= 0 |
| std::domain_error | if mu is not finite |
Definition at line 79 of file offset_multiplier_constrain.hpp.
|
inline |
Return the unconstrained scalar that transforms to the specified offset and multiplier constrained scalar given the specified offset and multiplier.
The transform in locmultiplier_constrain(T, double, double), is reversed by the reverse affine transformation,
\(f^{-1}(y) = \frac{y - L}{S}\)
where \(L\) and \(S\) are the offset and multiplier.
If the offset is zero and multiplier is one, this function reduces to identity_free(y).
| T | type of scalar |
| L | type of offset |
| S | type of multiplier |
| y | constrained value | |
| [in] | mu | offset of constrained output |
| [in] | sigma | multiplier of constrained output |
| std::domain_error | if sigma <= 0 |
| std::domain_error | if mu is not finite |
Definition at line 39 of file offset_multiplier_free.hpp.
|
inline |
Return an array with 1 in the k-th position and zero elsewhere.
| K | size of the array |
| k | position of the 1 (indexing from 1) |
| std::domain_error | if K is not positive, or if k is less than 1 or greater than K. |
Definition at line 20 of file one_hot_array.hpp.
|
inline |
Return an integer array with 1 in the k-th position and zero elsewhere.
| K | size of the array |
| k | position of the 1 (indexing from 1) |
| std::domain_error | if K is not positive, or if k is less than 1 or greater than K. |
Definition at line 20 of file one_hot_int_array.hpp.
|
inline |
Return a row vector with 1 in the k-th position and zero elsewhere.
| K | size of the row vector |
| k | position of the 1 (indexing from 1) |
| std::domain_error | if K is not positive, or if k is less than 1 or greater than K. |
Definition at line 20 of file one_hot_row_vector.hpp.
|
inline |
Return a vector with 1 in the k-th position and zero elsewhere.
| K | size of the vector |
| k | position of the 1 (indexing from 1) |
| std::domain_error | if K is not positive, or if k is less than 1 or greater than K. |
Definition at line 20 of file one_hot_vector.hpp.
|
inline |
Return an array of ones.
| K | size of the array |
| std::domain_error | if K is negative. |
Definition at line 17 of file ones_array.hpp.
|
inline |
Return an integer array of ones.
| K | size of the array |
| std::domain_error | if K is negative. |
Definition at line 17 of file ones_int_array.hpp.
|
inline |
Return a row vector of ones.
| K | size of the row vector |
| std::domain_error | if K is negative. |
Definition at line 17 of file ones_row_vector.hpp.
|
inline |
Return a vector of ones.
| K | size of the vector |
| std::domain_error | if K is negative. |
Definition at line 17 of file ones_vector.hpp.
Return the logical conjunction of the values of the two arguments as defined by &&.
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 18 of file operator_logical_and.hpp.
|
inline |
Return the logical conjunction of the values of the two arguments as defined by &&.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 19 of file operator_logical_and.hpp.
|
inline |
Return the logical conjunction of the values of the two arguments as defined by &&.
| Var | value type of a var |
| Arith | An arithmetic type |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 32 of file operator_logical_and.hpp.
|
inline |
Return the logical conjunction of the values of the two arguments as defined by &&.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 34 of file operator_logical_and.hpp.
|
inline |
Return the logical conjunction of the values of the two arguments as defined by &&.
| Var | value type of a var |
| Arith | An arithmetic type |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 48 of file operator_logical_and.hpp.
|
inline |
Return the logical conjunction of the values of the two arguments as defined by &&.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 49 of file operator_logical_and.hpp.
|
inline |
Return the negation of the value of the argument as defined by !.
| [in] | x | argument |
Definition at line 17 of file operator_unary_not.hpp.
|
inline |
Return the negation of the value of the argument as defined by !.
| value | and tangent type for variables |
| [in] | x | argument |
Definition at line 18 of file operator_unary_not.hpp.
|
inline |
Return true if the value of the two arguments are not equal as defined by !=.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 19 of file operator_not_equal.hpp.
|
inline |
Inequality operator comparing two variables' values (C++).
\[ \mbox{operator!=}(x, y) = \begin{cases} 0 & \mbox{if } x = y\\ 1 & \mbox{if } x \neq y \\[6pt] 0 & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| a | First variable. |
| b | Second variable. |
Definition at line 27 of file operator_not_equal.hpp.
|
inline |
Return true if the value of the first argument is not equal to the second argument as defined by !=.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 34 of file operator_not_equal.hpp.
|
inline |
Inequality operator comparing a variable's value and a double (C++).
| Arith | An arithmetic type |
| a | First variable. |
| b | Second value. |
Definition at line 40 of file operator_not_equal.hpp.
|
inline |
Return true if the first argument is not equal to the value of the second argument as defined by !=.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 49 of file operator_not_equal.hpp.
|
inline |
Inequality operator comparing a double and a variable's value (C++).
| Arith | An arithmetic type |
| a | First value. |
| b | Second variable. |
Definition at line 55 of file operator_not_equal.hpp.
|
inline |
Return the product of the two arguments.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 18 of file operator_multiplication.hpp.
Return the product of the two arguments.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 31 of file operator_multiplication.hpp.
Return the product of the two arguments.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 44 of file operator_multiplication.hpp.
Multiplication operator for two variables (C++).
The partial derivatives are
\(\frac{\partial}{\partial x} (x * y) = y\), and
\(\frac{\partial}{\partial y} (x * y) = x\).
\[ \mbox{operator*}(x, y) = \begin{cases} xy & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{operator*}(x, y)}{\partial x} = \begin{cases} y & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{operator*}(x, y)}{\partial y} = \begin{cases} x & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| a | First variable operand. |
| b | Second variable operand. |
Definition at line 80 of file operator_multiplication.hpp.
|
inline |
Multiplication operator for a variable and a scalar (C++).
The partial derivative for the variable is
\(\frac{\partial}{\partial x} (x * c) = c\), and
| Arith | An arithmetic type |
| a | Variable operand. |
| b | Scalar operand. |
Definition at line 97 of file operator_multiplication.hpp.
|
inline |
Multiplication operator for a scalar and a variable (C++).
The partial derivative for the variable is
\(\frac{\partial}{\partial y} (c * y) = c\).
| Arith | An arithmetic type |
| a | Scalar operand. |
| b | Variable operand. |
Definition at line 117 of file operator_multiplication.hpp.
|
inline |
Multiplication of a scalar and a kernel generator expression.
| T_a | type of scalar |
| T_b | type of expression |
| a | scalar |
| b | expression |
Definition at line 203 of file binary_operation.hpp.
|
inline |
Multiplication of a kernel generator expression and a scalar.
| T_a | type of expression |
| T_b | type of scalar |
| a | expression |
| b | scalar |
Definition at line 220 of file binary_operation.hpp.
|
inline |
Matrix multiplication of two kernel generator expressions.
Evaluates both expressions before calculating the matrix product.
| T_a | type of first expression |
| T_b | type of second expression |
| a | first expression |
| b | second expression |
Definition at line 236 of file binary_operation.hpp.
|
inline |
Return the sum of the specified forward mode addends.
| T | type of values and tangents |
| x1 | first addend |
| x2 | second addend |
Definition at line 18 of file operator_addition.hpp.
Returns the argument.
It is included for completeness. The primitive unary operator+ exists to promote integer to floating point values.
| T | value and tangent type of the argument |
| x | argument |
Definition at line 19 of file operator_unary_plus.hpp.
Return the sum of the specified double and forward mode addends.
| T | type of values and tangents |
| x1 | first addend |
| x2 | second addend |
Definition at line 31 of file operator_addition.hpp.
Unary plus operator for variables (C++).
The function simply returns its input, because
\(\frac{d}{dx} +x = \frac{d}{dx} x = 1\).
The effect of unary plus on a built-in C++ scalar type is integer promotion. Because variables are all double-precision floating point already, promotion is not necessary.
\[ \mbox{operator+}(x) = \begin{cases} x & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{operator+}(x)}{\partial x} = \begin{cases} 1 & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Argument variable. |
Definition at line 44 of file operator_unary_plus.hpp.
Return the sum of the specified forward mode and double addends.
| T | type of values and tangents |
| x1 | first addend |
| x2 | second addend |
Definition at line 44 of file operator_addition.hpp.
Addition operator for variables (C++).
The partial derivatives are defined by
\(\frac{\partial}{\partial x} (x+y) = 1\), and
\(\frac{\partial}{\partial y} (x+y) = 1\).
\[ \mbox{operator+}(x, y) = \begin{cases} x+y & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{operator+}(x, y)}{\partial x} = \begin{cases} 1 & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{operator+}(x, y)}{\partial y} = \begin{cases} 1 & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| a | First variable operand. |
| b | Second variable operand. |
Definition at line 81 of file operator_addition.hpp.
|
inline |
Addition operator for variable and scalar (C++).
The derivative with respect to the variable is
\(\frac{d}{dx} (x + c) = 1\).
| Arith | An arithmetic type |
| a | First variable operand. |
| b | Second scalar operand. |
Definition at line 98 of file operator_addition.hpp.
|
inline |
Addition operator for scalar and variable (C++).
The derivative with respect to the variable is
\(\frac{d}{dy} (c + y) = 1\).
| Arith | An arithmetic type |
| a | First scalar operand. |
| b | Second variable operand. |
Definition at line 118 of file operator_addition.hpp.
Prefix increment operator for variables (C++).
Following C++, (++a) is defined to behave exactly as (a = a + 1.0) does, but is faster and uses less memory. In particular, the result is an assignable lvalue.
| a | Variable to increment. |
Definition at line 36 of file operator_unary_increment.hpp.
Postfix increment operator for variables (C++).
Following C++, the expression (a++) is defined to behave like the sequence of operations
var temp = a; a = a + 1.0; return temp;
| a | Variable to increment. |
Definition at line 52 of file operator_unary_increment.hpp.
Return the negation of the specified argument.
| value | and tangent type of the argument |
| [in] | x | argument |
Definition at line 17 of file operator_unary_minus.hpp.
|
inline |
Return the difference of the specified arguments.
| T | type of values and tangents |
| x1 | first argument |
| x2 | second argument |
Definition at line 18 of file operator_subtraction.hpp.
Return the difference of the specified arguments.
| T | type of values and tangents |
| x1 | first argument |
| x2 | second argument |
Definition at line 31 of file operator_subtraction.hpp.
Return the difference of the specified arguments.
| T | type of values and tangents |
| x1 | first argument |
| x2 | second argument |
Definition at line 44 of file operator_subtraction.hpp.
Unary negation operator for variables (C++).
\(\frac{d}{dx} -x = -1\).
\[ \mbox{operator-}(x) = \begin{cases} -x & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{operator-}(x)}{\partial x} = \begin{cases} -1 & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Argument variable. |
Definition at line 51 of file operator_unary_negative.hpp.
Subtraction operator for variables (C++).
The partial derivatives are defined by
\(\frac{\partial}{\partial x} (x-y) = 1\), and
\(\frac{\partial}{\partial y} (x-y) = -1\).
\[ \mbox{operator-}(x, y) = \begin{cases} x-y & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{operator-}(x, y)}{\partial x} = \begin{cases} 1 & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{operator-}(x, y)}{\partial y} = \begin{cases} -1 & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| Var1 | value type of a var |
| Var2 | value type of a var |
| a | First variable operand. |
| b | Second variable operand. |
Definition at line 96 of file operator_subtraction.hpp.
|
inline |
Subtraction operator for variable and scalar (C++).
The derivative for the variable is
\(\frac{\partial}{\partial x} (x-c) = 1\), and
| Var | value type of a var |
| Arith | An arithmetic type |
| a | First variable operand. |
| b | Second scalar operand. |
Definition at line 114 of file operator_subtraction.hpp.
|
inline |
Subtraction operator for scalar and variable (C++).
The derivative for the variable is
\(\frac{\partial}{\partial y} (c-y) = -1\), and
| Var | value type of a var |
| Arith | An arithmetic type |
| a | First scalar operand. |
| b | Second variable operand. |
Definition at line 135 of file operator_subtraction.hpp.
Prefix decrement operator for variables (C++).
Following C++, (–a) is defined to behave exactly as
a = a - 1.0)
does, but is faster and uses less memory. In particular, the result is an assignable lvalue.
| a | Variable to decrement. |
Definition at line 40 of file operator_unary_decrement.hpp.
Postfix decrement operator for variables (C++).
Following C++, the expression (a–) is defined to behave like the sequence of operations
var temp = a; a = a - 1.0; return temp;
| a | Variable to decrement. |
Definition at line 56 of file operator_unary_decrement.hpp.
|
inline |
Return the result of dividing the first argument by the second.
| T | type of fvar value and tangent |
| x1 | first argument |
| x2 | second argument |
Definition at line 18 of file operator_division.hpp.
Return the result of dividing the first argument by the second.
| T | type of fvar value and tangent |
| x1 | first argument |
| x2 | second argument |
Definition at line 32 of file operator_division.hpp.
|
inline |
Definition at line 38 of file divide.hpp.
|
inline |
Definition at line 44 of file divide.hpp.
Return the result of dividing the first argument by the second.
| T | type of fvar value and tangent |
| x1 | first argument |
| x2 | second argument |
Definition at line 45 of file operator_division.hpp.
|
inline |
Definition at line 50 of file divide.hpp.
Division operator for two variables (C++).
The partial derivatives for the variables are
\(\frac{\partial}{\partial x} (x/y) = 1/y\), and
\(\frac{\partial}{\partial y} (x/y) = -x / y^2\).
\[ \mbox{operator/}(x, y) = \begin{cases} \frac{x}{y} & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{operator/}(x, y)}{\partial x} = \begin{cases} \frac{1}{y} & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{operator/}(x, y)}{\partial y} = \begin{cases} -\frac{x}{y^2} & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| dividend | First variable operand. |
| divisor | Second variable operand. |
Definition at line 93 of file operator_division.hpp.
|
inline |
Division operator for dividing a variable by a scalar (C++).
The derivative with respect to the variable is
\(\frac{\partial}{\partial x} (x/c) = 1/c\).
| Var | value type of a var |
| Arith | An arithmetic type |
| dividend | Variable operand. |
| divisor | Scalar operand. |
Definition at line 111 of file operator_division.hpp.
|
inline |
Division operator for dividing a scalar by a variable (C++).
The derivative with respect to the variable is
\(\frac{d}{d y} (c/y) = -c / y^2\).
| Arith | An arithmetic type |
| dividend | Scalar operand. |
| divisor | Variable operand. |
Definition at line 131 of file operator_division.hpp.
|
inline |
Return true if the first argument has a value less than the value of the second argument as defined by <.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 20 of file operator_less_than.hpp.
Less than operator comparing variables' values (C++).
\[ \mbox{operator\textless}(x, y) = \begin{cases} 0 & \mbox{if } x \geq y \\ 1 & \mbox{if } x < y \\[6pt] 0 & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| a | First variable. |
| b | Second variable. |
Definition at line 25 of file operator_less_than.hpp.
|
inline |
Return true if the first argument is less than the value of the second argument as defined by <.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 35 of file operator_less_than.hpp.
|
inline |
Less than operator comparing variable's value and a double (C++).
| Arith | An arithmetic type |
| a | First variable. |
| b | Second value. |
Definition at line 37 of file operator_less_than.hpp.
|
inline |
Return true if the first argument has a value less than the second argument as defined by <.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 51 of file operator_less_than.hpp.
|
inline |
Less than operator comparing a double and variable's value (C++).
| Arith | An arithmetic type |
| a | First value. |
| b | Second variable. |
Definition at line 51 of file operator_less_than.hpp.
|
inline |
Return true if the first argument has a value less than or equal to the value of the second argument as defined by <=.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 21 of file operator_less_than_or_equal.hpp.
Less than or equal operator comparing two variables' values (C++).
\[ \mbox{operator\textless=}(x, y) = \begin{cases} 0 & \mbox{if } x > y\\ 1 & \mbox{if } x \leq y \\[6pt] 0 & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| a | First variable. |
| b | Second variable. |
Definition at line 27 of file operator_less_than_or_equal.hpp.
|
inline |
Return true if the first argument has a value less than or equal to the second argument as defined by <=.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 36 of file operator_less_than_or_equal.hpp.
|
inline |
Less than or equal operator comparing a variable's value and a scalar (C++).
| Arith | An arithmetic type |
| a | First variable. |
| b | Second value. |
Definition at line 40 of file operator_less_than_or_equal.hpp.
|
inline |
Return true if the first argument is less than or equal to the second argument's value as defined by <=.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 51 of file operator_less_than_or_equal.hpp.
|
inline |
Less than or equal operator comparing a double and variable's value (C++).
| Arith | An arithmetic type |
| a | First value. |
| b | Second variable. |
Definition at line 55 of file operator_less_than_or_equal.hpp.
|
inline |
Return true if the specified variables have equal values as defined by ==.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 19 of file operator_equal.hpp.
Equality operator comparing two variables' values (C++).
\[ \mbox{operator==}(x, y) = \begin{cases} 0 & \mbox{if } x \neq y\\ 1 & \mbox{if } x = y \\[6pt] 0 & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| a | First variable. |
| b | Second variable. |
Definition at line 27 of file operator_equal.hpp.
|
inline |
Return true if the the first variable has a value equal to the second argument as defined by by ==.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 34 of file operator_equal.hpp.
|
inline |
Equality operator comparing a variable's value and a double (C++).
| Arith | An arithmetic type |
| a | First variable. |
| b | Second value. |
Definition at line 40 of file operator_equal.hpp.
|
inline |
Return true if the the first argument is equal to the value of the second argument as defined by by ==.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 48 of file operator_equal.hpp.
|
inline |
Equality operator comparing a scalar and a variable's value (C++).
| Arith | An arithmetic type |
| a | First scalar. |
| b | Second variable. |
Definition at line 54 of file operator_equal.hpp.
|
inline |
Return true if the first argument has a greater value than the second as defined by >.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 20 of file operator_greater_than.hpp.
Greater than operator comparing variables' values (C++).
\[ \mbox{operator\textgreater}(x, y) = \begin{cases} 0 & \mbox{if } x \leq y\\ 1 & \mbox{if } x > y \\[6pt] 0 & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| a | First variable. |
| b | Second variable. |
Definition at line 26 of file operator_greater_than.hpp.
|
inline |
Return true if the first argument has a greater value than the second as defined by >.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 35 of file operator_greater_than.hpp.
|
inline |
Greater than operator comparing variable's value and double (C++).
| Arith | An arithmetic type |
| a | First variable. |
| b | Second value. |
Definition at line 38 of file operator_greater_than.hpp.
|
inline |
Return true if the first argument has a greater value than the second as defined by >.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 50 of file operator_greater_than.hpp.
|
inline |
Greater than operator comparing a double and a variable's value (C++).
| Arith | An arithmetic type |
| a | First value. |
| b | Second variable. |
Definition at line 52 of file operator_greater_than.hpp.
|
inline |
Return true if the value of the first argument is greater than or equal to that of the second as defined by >=.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 20 of file operator_greater_than_or_equal.hpp.
Greater than or equal operator comparing two variables' values (C++).
\[ \mbox{operator\textgreater=}(x, y) = \begin{cases} 0 & \mbox{if } x < y\\ 1 & \mbox{if } x \geq y \\[6pt] 0 & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| a | First variable. |
| b | Second variable. |
Definition at line 28 of file operator_greater_than_or_equal.hpp.
|
inline |
Return true if the value of the first argument has a value greater than or equal to the second argument as defined by >=.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 36 of file operator_greater_than_or_equal.hpp.
|
inline |
Greater than or equal operator comparing variable's value and double (C++).
| Arith | An arithmetic type |
| a | First variable. |
| b | Second value. |
Definition at line 41 of file operator_greater_than_or_equal.hpp.
|
inline |
Return true if the first argument is greater than or equal to the value of the second argument as defined by >=.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 52 of file operator_greater_than_or_equal.hpp.
|
inline |
Greater than or equal operator comparing double and variable's value (C++).
| Arith | An arithmetic type |
| a | First value. |
| b | Second variable. |
Definition at line 56 of file operator_greater_than_or_equal.hpp.
|
inline |
Definition at line 49 of file matrix_power.hpp.
Return the logical disjunction of the values of the two arguments as defined by ||.
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 18 of file operator_logical_or.hpp.
|
inline |
Return the logical disjunction of the values of the two arguments as defined by ||.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 19 of file operator_logical_or.hpp.
|
inline |
Return the logical disjunction of the values of the two arguments as defined by ||.
| Arith | An arithmetic type |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 31 of file operator_logical_or.hpp.
|
inline |
Return the logical disjunction of the values of the two arguments as defined by ||.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 34 of file operator_logical_or.hpp.
|
inline |
Return the logical disjunction of the values of the two arguments as defined by ||.
| Arith | An arithmetic type |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 46 of file operator_logical_or.hpp.
|
inline |
Return the logical disjunction of the values of the two arguments as defined by ||.
| value | and tangent type for variables |
| [in] | x | first argument |
| [in] | y | second argument |
Definition at line 49 of file operator_logical_or.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::ordered_constrain | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x | ) |
Return an increasing ordered vector derived from the specified free vector.
The returned constrained vector will have the same dimensionality as the specified free vector.
| T | type of elements in the vector |
| x | Free vector of scalars. |
| T | Type of scalar. |
Definition at line 22 of file ordered_constrain.hpp.
|
inline |
Return a positive valued, increasing ordered vector derived from the specified free vector and increment the specified log probability reference with the log absolute Jacobian determinant of the transform.
The returned constrained vector will have the same dimensionality as the specified free vector.
| T | type of elements in the vector |
| x | Free vector of scalars. |
| lp | Log probability reference. |
Definition at line 54 of file ordered_constrain.hpp.
|
inline |
Return an increasing ordered vector derived from the specified free vector.
The returned constrained vector will have the same dimensionality as the specified free vector.
| x | Free vector of scalars |
Definition at line 89 of file ordered_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::ordered_free | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | y | ) |
Return the vector of unconstrained scalars that transform to the specified positive ordered vector.
This function inverts the constraining operation defined in ordered_constrain(Matrix),
| T | type of elements in the vector |
| y | Vector of positive, ordered scalars. |
| std::domain_error | if y is not a vector of positive, ordered scalars. |
Definition at line 26 of file ordered_free.hpp.
| return_type_t<T_beta_scalar, T_cuts_scalar> stan::math::ordered_logistic_glm_lpmf | ( | const matrix_cl< int > & | y, |
| const matrix_cl< double > & | x, | ||
| const Eigen::Matrix< T_beta_scalar, Eigen::Dynamic, 1 > & | beta, | ||
| const Eigen::Matrix< T_cuts_scalar, Eigen::Dynamic, 1 > & | cuts | ||
| ) |
Definition at line 139 of file ordered_logistic_glm_lpmf.hpp.
| return_type_t<T_x_scalar, T_beta_scalar, T_cuts_scalar> stan::math::ordered_logistic_glm_lpmf | ( | const T_y & | y, |
| const Eigen::Matrix< T_x_scalar, T_x_rows, Eigen::Dynamic > & | x, | ||
| const Eigen::Matrix< T_beta_scalar, Eigen::Dynamic, 1 > & | beta, | ||
| const Eigen::Matrix< T_cuts_scalar, Eigen::Dynamic, 1 > & | cuts | ||
| ) |
Definition at line 200 of file ordered_logistic_glm_lpmf.hpp.
| return_type_t<T_loc, T_cut> stan::math::ordered_logistic_lpmf | ( | const T_y & | y, |
| const T_loc & | lambda, | ||
| const T_cut & | c | ||
| ) |
Definition at line 167 of file ordered_logistic_lpmf.hpp.
|
inline |
Definition at line 14 of file ordered_logistic_rng.hpp.
| return_type_t<T_loc, T_cut> stan::math::ordered_probit_lpmf | ( | int | y, |
| const T_loc & | lambda, | ||
| const Eigen::Matrix< T_cut, Eigen::Dynamic, 1 > & | c | ||
| ) |
Definition at line 64 of file ordered_probit_lpmf.hpp.
| return_type_t<T_loc, T_cut> stan::math::ordered_probit_lpmf | ( | const std::vector< int > & | y, |
| const Eigen::Matrix< T_loc, Eigen::Dynamic, 1 > & | lambda, | ||
| const Eigen::Matrix< T_cut, Eigen::Dynamic, 1 > & | c | ||
| ) |
Definition at line 131 of file ordered_probit_lpmf.hpp.
| return_type_t<T_loc, T_cut> stan::math::ordered_probit_lpmf | ( | const std::vector< int > & | y, |
| const Eigen::Matrix< T_loc, Eigen::Dynamic, 1 > & | lambda, | ||
| const std::vector< Eigen::Matrix< T_cut, Eigen::Dynamic, 1 > > & | c | ||
| ) |
Definition at line 208 of file ordered_probit_lpmf.hpp.
|
inline |
Definition at line 13 of file ordered_probit_rng.hpp.
|
inline |
Throw an out_of_range exception with a consistently formatted message.
This is an abstraction for all Stan functions to use when throwing out of range. This will allow us to change the behavior for all functions at once. The message is: "<function>: index <index> out of range; expecting index to be between " "1 and <max><msg1><msg2>"
| function | Name of the function |
| max | Max |
| index | Index |
| msg1 | Message to print. Default is "". |
| msg2 | Message to print. Default is "". |
| std::out_of_range | with message. |
Definition at line 27 of file out_of_range.hpp.
|
inline |
Return Owen's T function applied to the specified arguments.
| T | inner type of the fvar |
| x1 | First argument. |
| x2 | Second argument. |
Definition at line 25 of file owens_t.hpp.
Return Owen's T function applied to the specified arguments.
| T | inner type of the fvar |
| x1 | First argument. |
| x2 | Second argument. |
Definition at line 47 of file owens_t.hpp.
|
inline |
Return the result of applying Owen's T function to the specified arguments.
Used to compute the cumulative density function for the skew normal distribution.
\[ \mbox{owens\_t}(h, a) = \begin{cases} \mbox{owens\_t}(h, a) & \mbox{if } -\infty\leq h, a \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } h = \textrm{NaN or } a = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{owens\_t}(h, a)}{\partial h} = \begin{cases} \frac{\partial\, \mbox{owens\_t}(h, a)}{\partial h} & \mbox{if } -\infty\leq h, a\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } h = \textrm{NaN or } a = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{owens\_t}(h, a)}{\partial a} = \begin{cases} \frac{\partial\, \mbox{owens\_t}(h, a)}{\partial a} & \mbox{if } -\infty\leq h, a\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } h = \textrm{NaN or } a = \textrm{NaN} \end{cases} \]
\[ \mbox{owens\_t}(h, a) = \frac{1}{2\pi} \int_0^a \frac{\exp(-\frac{1}{2}h^2(1+x^2))}{1+x^2}dx \]
\[ \frac{\partial \, \mbox{owens\_t}(h, a)}{\partial h} = -\frac{1}{2\sqrt{2\pi}} \operatorname{erf}\left(\frac{ha}{\sqrt{2}}\right) \exp\left(-\frac{h^2}{2}\right) \]
\[ \frac{\partial \, \mbox{owens\_t}(h, a)}{\partial a} = \frac{\exp\left(-\frac{1}{2}h^2(1+a^2)\right)}{2\pi (1+a^2)} \]
| h | First argument |
| a | Second argument |
Definition at line 57 of file owens_t.hpp.
The Owen's T function of h and a.
Used to compute the cumulative density function for the skew normal distribution.
| h | var parameter. |
| a | var parameter. |
Definition at line 64 of file owens_t.hpp.
Return Owen's T function applied to the specified arguments.
| T | inner type of the fvar |
| x1 | First argument. |
| x2 | Second argument. |
Definition at line 66 of file owens_t.hpp.
The Owen's T function of h and a.
Used to compute the cumulative density function for the skew normal distribution.
| h | var parameter. |
| a | double parameter. |
Definition at line 78 of file owens_t.hpp.
The Owen's T function of h and a.
Used to compute the cumulative density function for the skew normal distribution.
| h | double parameter. |
| a | var parameter. |
Definition at line 92 of file owens_t.hpp.
|
inline |
Packs the flat triangular matrix on the OpenCL device and copies the adjoint values to the std::vector.
| src | the flat triangular source matrix on the OpenCL device |
| <code>std::invalid_argument</code> | if the matrix is not triangular |
|
inline |
Copies the packed triangular matrix from the source std::vector to an OpenCL buffer and unpacks it to a flat matrix on the OpenCL device.
| matrix_view | the triangularity of the source matrix |
| src | the packed source std::vector |
| rows | the number of rows in the flat matrix |
| <code>std::invalid_argument</code> | if the size of the vector does not match the expected size for the packed triangular matrix |
| return_type_t<T_y, T_scale, T_shape> stan::math::pareto_cdf | ( | const T_y & | y, |
| const T_scale & | y_min, | ||
| const T_shape & | alpha | ||
| ) |
Definition at line 17 of file pareto_cdf.hpp.
| return_type_t<T_y, T_scale, T_shape> stan::math::pareto_lccdf | ( | const T_y & | y, |
| const T_scale & | y_min, | ||
| const T_shape & | alpha | ||
| ) |
Definition at line 17 of file pareto_lccdf.hpp.
| return_type_t<T_y, T_scale, T_shape> stan::math::pareto_lcdf | ( | const T_y & | y, |
| const T_scale & | y_min, | ||
| const T_shape & | alpha | ||
| ) |
Definition at line 17 of file pareto_lcdf.hpp.
| return_type_t<T_y, T_scale, T_shape> stan::math::pareto_lpdf | ( | const T_y & | y, |
| const T_scale & | y_min, | ||
| const T_shape & | alpha | ||
| ) |
Definition at line 18 of file pareto_lpdf.hpp.
|
inline |
Definition at line 114 of file pareto_lpdf.hpp.
| return_type_t<T_y, T_loc, T_scale, T_shape> stan::math::pareto_type_2_cdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | lambda, | ||
| const T_shape & | alpha | ||
| ) |
Definition at line 16 of file pareto_type_2_cdf.hpp.
| return_type_t<T_y, T_loc, T_scale, T_shape> stan::math::pareto_type_2_lccdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | lambda, | ||
| const T_shape & | alpha | ||
| ) |
Definition at line 15 of file pareto_type_2_lccdf.hpp.
| return_type_t<T_y, T_loc, T_scale, T_shape> stan::math::pareto_type_2_lcdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | lambda, | ||
| const T_shape & | alpha | ||
| ) |
Definition at line 16 of file pareto_type_2_lcdf.hpp.
| return_type_t<T_y, T_loc, T_scale, T_shape> stan::math::pareto_type_2_lpdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | lambda, | ||
| const T_shape & | alpha | ||
| ) |
Definition at line 19 of file pareto_type_2_lpdf.hpp.
|
inline |
Definition at line 121 of file pareto_type_2_lpdf.hpp.
| void stan::math::partial_derivative | ( | const F & | f, |
| const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x, | ||
| int | n, | ||
| T & | fx, | ||
| T & | dfx_dxn | ||
| ) |
Return the partial derivative of the specified multivariate function at the specified argument.
| T | Argument type |
| F | Function type |
| f | Function | |
| [in] | x | Argument vector |
| [in] | n | Index of argument with which to take derivative |
| [out] | fx | Value of function applied to argument |
| [out] | dfx_dxn | Value of partial derivative |
Definition at line 25 of file partial_derivative.hpp.
|
inline |
The unit normal cumulative distribution function.
The return value for a specified input is the probability that a random unit normal variate is less than or equal to the specified value, defined by
\(\Phi(x) = \int_{-\infty}^x \mbox{\sf Norm}(x|0, 1) \ dx\)
This function can be used to implement the inverse link function for probit regression.
Phi will underflow to 0 below -37.5 and overflow to 1 above 8
| x | Argument. |
The unit normal cumulative density function for variables (stan).
See Phi() for the double-based version.
The derivative is the unit normal density function,
\(\frac{d}{dx} \Phi(x) = \mbox{\sf Norm}(x|0, 1) = \frac{1}{\sqrt{2\pi}} \exp(-\frac{1}{2} x^2)\).
\[ \mbox{Phi}(x) = \begin{cases} 0 & \mbox{if } x < -37.5 \\ \Phi(x) & \mbox{if } -37.5 \leq x \leq 8.25 \\ 1 & \mbox{if } x > 8.25 \\[6pt] \textrm{error} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{Phi}(x)}{\partial x} = \begin{cases} 0 & \mbox{if } x < -27.5 \\ \frac{\partial\, \Phi(x)}{\partial x} & \mbox{if } -27.5 \leq x \leq 27.5 \\ 0 & \mbox{if } x > 27.5 \\[6pt] \textrm{error} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \Phi(x) = \frac{1}{\sqrt{2\pi}} \int_{0}^{x} e^{-t^2/2} dt \]
\[ \frac{\partial \, \Phi(x)}{\partial x} = \frac{e^{-x^2/2}}{\sqrt{2\pi}} \]
| a | Variable argument. |
|
inline |
|
inline |
Return an approximation of the unit normal CDF.
http://www.jiem.org/index.php/jiem/article/download/60/27
This function can be used to implement the inverse link function for probit regression.
| x | Argument. |
Definition at line 22 of file Phi_approx.hpp.
Return an approximation of the unit normal cumulative distribution function (CDF).
| T | scalar type of forward-mode autodiff variable argument. |
| x | argument |
Definition at line 23 of file Phi_approx.hpp.
|
inline |
Return an approximation of the unit normal CDF.
| x | argument. |
Definition at line 34 of file Phi_approx.hpp.
Approximation of the unit normal CDF for variables (stan).
http://www.jiem.org/index.php/jiem/article/download/60/27
\[ \mbox{Phi\_approx}(x) = \begin{cases} \Phi_{\mbox{\footnotesize approx}}(x) & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{Phi\_approx}(x)}{\partial x} = \begin{cases} \frac{\partial\, \Phi_{\mbox{\footnotesize approx}}(x)}{\partial x} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \Phi_{\mbox{\footnotesize approx}}(x) = \mbox{logit}^{-1}(0.07056 \, x^3 + 1.5976 \, x) \]
\[ \frac{\partial \, \Phi_{\mbox{\footnotesize approx}}(x)}{\partial x} = -\Phi_{\mbox{\footnotesize approx}}^2(x) e^{-0.07056x^3 - 1.5976x}(-0.21168x^2-1.5976) \]
| a | Variable argument. |
Definition at line 46 of file Phi_approx.hpp.
|
inline |
Return the elementwise application of Phi_approx() to specified argument container.
The return type promotes the underlying scalar argument type to double if it is an integer, and otherwise is the argument type.
| T | type of container |
| x | container |
Definition at line 65 of file Phi_approx.hpp.
|
inline |
| return_type_t<T_rate> stan::math::poisson_cdf | ( | const T_n & | n, |
| const T_rate & | lambda | ||
| ) |
Definition at line 20 of file poisson_cdf.hpp.
| return_type_t<T_rate> stan::math::poisson_lccdf | ( | const T_n & | n, |
| const T_rate & | lambda | ||
| ) |
Definition at line 20 of file poisson_lccdf.hpp.
| return_type_t<T_rate> stan::math::poisson_lcdf | ( | const T_n & | n, |
| const T_rate & | lambda | ||
| ) |
Definition at line 20 of file poisson_lcdf.hpp.
|
inline |
Definition at line 139 of file poisson_log_glm_lpmf.hpp.
|
inline |
Definition at line 156 of file poisson_log_glm_lpmf.hpp.
| return_type_t<T_log_rate> stan::math::poisson_log_lpmf | ( | const T_n & | n, |
| const T_log_rate & | alpha | ||
| ) |
Definition at line 19 of file poisson_log_lpmf.hpp.
|
inline |
Definition at line 91 of file poisson_log_lpmf.hpp.
| return_type_t<T_rate> stan::math::poisson_lpmf | ( | const T_n & | n, |
| const T_rate & | lambda | ||
| ) |
Definition at line 20 of file poisson_lpmf.hpp.
|
inline |
Definition at line 84 of file poisson_lpmf.hpp.
|
inline |
Return the positive value for the specified unconstrained input.
The transform applied is
\(f(x) = \exp(x)\).
| x | Arbitrary input scalar. |
Definition at line 21 of file positive_constrain.hpp.
|
inline |
Return the positive value for the specified unconstrained input, incrementing the scalar reference with the log absolute Jacobian determinant.
See positive_constrain(T) for details of the transform. The log absolute Jacobian determinant is
\(\log | \frac{d}{dx} \mbox{exp}(x) | = \log | \mbox{exp}(x) | = x\).
| T | type of unconstrained value |
| x | unconstrained value |
| lp | log density reference. |
Definition at line 43 of file positive_constrain.hpp.
|
inline |
Return the unconstrained value corresponding to the specified positive-constrained value.
The transform is the inverse of the transform \(f\) applied by positive_constrain(T), namely
\(f^{-1}(x) = \log(x)\).
The input is validated using check_positive().
| y | Input scalar. |
| T | Type of scalar. |
| std::domain_error | if the variable is negative |
Definition at line 28 of file positive_free.hpp.
|
inline |
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::positive_ordered_constrain | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x | ) |
Return an increasing positive ordered vector derived from the specified free vector.
The returned constrained vector will have the same dimensionality as the specified free vector.
| T | type of elements in the vector |
| x | Free vector of scalars. |
Definition at line 21 of file positive_ordered_constrain.hpp.
|
inline |
Return a positive valued, increasing positive ordered vector derived from the specified free vector and increment the specified log probability reference with the log absolute Jacobian determinant of the transform.
The returned constrained vector will have the same dimensionality as the specified free vector.
| T | type of elements in the vector |
| x | Free vector of scalars. |
| lp | Log probability reference. |
Definition at line 53 of file positive_ordered_constrain.hpp.
|
inline |
Return an increasing positive ordered vector derived from the specified free vector.
The returned constrained vector will have the same dimensionality as the specified free vector.
| x | Free vector of scalars |
Definition at line 86 of file positive_ordered_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::positive_ordered_free | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | y | ) |
Return the vector of unconstrained scalars that transform to the specified positive ordered vector.
This function inverts the constraining operation defined in positive_ordered_constrain(Matrix),
| T | type of elements in the vector |
| y | Vector of positive, ordered scalars. |
| std::domain_error | if y is not a vector of positive, ordered scalars. |
Definition at line 26 of file positive_ordered_free.hpp.
Return the base raised to the power of the exponent (cmath).
The partial derivatives are
\(\frac{\partial}{\partial x} \mbox{pow}(x, y) = y x^{y-1}\), and
\(\frac{\partial}{\partial y} \mbox{pow}(x, y) = x^y \ \log x\).
\[ \mbox{pow}(x, y) = \begin{cases} x^y & \mbox{if } -\infty\leq x, y \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{pow}(x, y)}{\partial x} = \begin{cases} yx^{y-1} & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{pow}(x, y)}{\partial y} = \begin{cases} x^y\ln x & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } y = \textrm{NaN} \end{cases} \]
| base | Base variable. |
| exponent | Exponent variable. |
|
inline |
Return the base variable raised to the power of the exponent scalar (cmath).
The derivative for the variable is
\(\frac{d}{dx} \mbox{pow}(x, c) = c x^{c-1}\).
The template parameters are coded as they are so that arithmetic types will not be promoted into the var slots.
| Var | var type |
| Arith | arithmetic type |
| base | Base variable. |
| exponent | Exponent scalar. |
|
inline |
Return the base scalar raised to the power of the exponent variable (cmath).
The derivative for the variable is
\(\frac{d}{d y} \mbox{pow}(c, y) = c^y \log c \).
The template parameters are coded as they are so that arithmetic types will not be promoted into the var slots.
| Var | var type |
| Arith | arithmetic type |
| base | Base scalar. |
| exponent | Exponent variable. |
|
inline |
This function returns a var for an expression that has the specified value, vector of operands, and vector of partial derivatives of value with respect to the operands.
| Arith | An arithmetic type |
| VecVar | A vector of vars |
| VecArith | A vector of arithmetic types |
| [in] | value | The value of the resulting dependent variable. |
| [in] | operands | operands. |
| [in] | gradients | vector of partial derivatives of result with respect to operands. |
Definition at line 103 of file precomputed_gradients.hpp.
|
inline |
Return the primitive double value for the specified autodiff variable.
| v | input variable. |
Definition at line 18 of file primitive_value.hpp.
|
inline |
Return the primitive value of the specified forward-mode autodiff variable.
This function applies recursively to higher-order autodiff types to return a primitive double value.
| T | inner type of the fvar |
| v | input variable. |
Definition at line 21 of file primitive_value.hpp.
|
inline |
Return the value of the specified arithmetic argument unmodified with its own declared type.
This template function can only be instantiated with arithmetic types as defined by std library's is_arithmetic trait metaprogram.
This function differs from value_of in that it does not cast all return types to double.
| T | type of arithmetic input. |
| x | input. |
Definition at line 28 of file primitive_value.hpp.
|
inline |
Return the primitive value of the specified argument.
This implementation only applies to non-arithmetic types as defined by std libray's is_arithmetic trait metaprogram.
| T | type of non-arithmetic input. |
| x | input. |
Definition at line 44 of file primitive_value.hpp.
|
inline |
Helper function to return the matrix size as either "dynamic" or "1".
| N | Eigen matrix size specification |
| o | output stream |
Definition at line 22 of file assign.hpp.
|
inline |
Prints the autodiff variable stack.
This function is used for debugging purposes.
Only works if all members of stack are vari* as it casts to vari*.
| o | ostream to modify |
Definition at line 20 of file print_stack.hpp.
|
inline |
Return a probability value constrained to fall between 0 and 1 (inclusive) for the specified free scalar.
The transform is the inverse logit,
\(f(x) = \mbox{logit}^{-1}(x) = \frac{1}{1 + \exp(x)}\).
| T | type of scalar |
| [in] | x | unconstrained value |
Definition at line 25 of file prob_constrain.hpp.
|
inline |
Return a probability value constrained to fall between 0 and 1 (inclusive) for the specified free scalar and increment the specified log probability reference with the log absolute Jacobian determinant of the transform.
The transform is as defined for prob_constrain(T). The log absolute Jacobian determinant is
The log absolute Jacobian determinant is
\(\log | \frac{d}{dx} \mbox{logit}^{-1}(x) |\)
\(\log ((\mbox{logit}^{-1}(x)) (1 - \mbox{logit}^{-1}(x))\)
\(\log (\mbox{logit}^{-1}(x)) + \log (1 - \mbox{logit}^{-1}(x))\).
| T | type of scalar |
| [in] | x | unconstrained value |
| [in,out] | lp | log density |
Definition at line 50 of file prob_constrain.hpp.
|
inline |
Return the free scalar that when transformed to a probability produces the specified scalar.
The function that reverses the constraining transform specified in prob_constrain(T) is the logit function,
\(f^{-1}(y) = \mbox{logit}(y) = \frac{1 - y}{y}\).
| T | type of constrained value |
| y | constrained value |
| std::domain_error | if y is not in (0, 1) |
Definition at line 27 of file prob_free.hpp.
|
inline |
|
inline |
|
inline |
Return the result of promoting either a scalar or the scalar elements of a container to either of two specified types, as determined by stan::math::common_type.
| T1 | first type |
| T2 | second type |
| F | type of container elements, must be either T1 or T2 |
| u | elements to promote |
Definition at line 23 of file promote_common.hpp.
| promote_scalar_type<T, S>::type stan::math::promote_scalar | ( | const S & | x | ) |
This is the top-level function to call to promote the scalar types of an input of type S to type T.
| T | scalar type of output. |
| S | input type. |
| x | input vector. |
Definition at line 63 of file promote_scalar.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::qr_Q | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | m | ) |
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::qr_R | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | m | ) |
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::qr_thin_Q | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | m | ) |
Returns the orthogonal factor of the thin QR decomposition.
| T | type of elements in the matrix |
| m | Matrix. |
Definition at line 19 of file qr_thin_Q.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::qr_thin_R | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | m | ) |
Returns the upper triangular factor of the thin QR decomposition.
| T | type of elements in the matrix |
| m | Matrix. |
Definition at line 19 of file qr_thin_R.hpp.
|
inline |
Compute B^T A B.
Definition at line 14 of file quad_form.hpp.
|
inline |
Definition at line 22 of file quad_form.hpp.
|
inline |
Definition at line 102 of file quad_form.hpp.
|
inline |
Definition at line 116 of file quad_form.hpp.
|
inline |
Definition at line 12 of file quad_form_diag.hpp.
|
inline |
Definition at line 11 of file quad_form_sym.hpp.
|
inline |
Definition at line 12 of file quad_form_sym.hpp.
|
inline |
Definition at line 16 of file quad_form_sym.hpp.
|
inline |
Definition at line 20 of file quad_form_sym.hpp.
|
inline |
Definition at line 22 of file quad_form_sym.hpp.
|
inline |
Definition at line 29 of file quad_form_sym.hpp.
|
inline |
Definition at line 29 of file quad_form_sym.hpp.
|
inline |
Definition at line 39 of file quad_form_sym.hpp.
|
inline |
| return_type_t<T_y, T_scale> stan::math::rayleigh_cdf | ( | const T_y & | y, |
| const T_scale & | sigma | ||
| ) |
Definition at line 17 of file rayleigh_cdf.hpp.
| return_type_t<T_y, T_scale> stan::math::rayleigh_lccdf | ( | const T_y & | y, |
| const T_scale & | sigma | ||
| ) |
Definition at line 16 of file rayleigh_lccdf.hpp.
| return_type_t<T_y, T_scale> stan::math::rayleigh_lcdf | ( | const T_y & | y, |
| const T_scale & | sigma | ||
| ) |
Definition at line 17 of file rayleigh_lcdf.hpp.
| return_type_t<T_y, T_scale> stan::math::rayleigh_lpdf | ( | const T_y & | y, |
| const T_scale & | sigma | ||
| ) |
Definition at line 17 of file rayleigh_lpdf.hpp.
|
inline |
Definition at line 82 of file rayleigh_lpdf.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::read_corr_L | ( | const Eigen::Array< T, Eigen::Dynamic, 1 > & | CPCs, |
| size_t | K | ||
| ) |
Return the Cholesky factor of the correlation matrix of the specified dimensionality corresponding to the specified canonical partial correlations.
It is generally better to work with the Cholesky factor rather than the correlation matrix itself when the determinant, inverse, etc. of the correlation matrix is needed for some statistical calculation.
See read_corr_matrix(Array, size_t, T) for more information.
| T | type of elements in the array |
| CPCs | The (K choose 2) canonical partial correlations in (-1, 1). |
| K | Dimensionality of correlation matrix. |
Definition at line 36 of file read_corr_L.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::read_corr_L | ( | const Eigen::Array< T, Eigen::Dynamic, 1 > & | CPCs, |
| size_t | K, | ||
| T & | log_prob | ||
| ) |
Return the Cholesky factor of the correlation matrix of the specified dimensionality corresponding to the specified canonical partial correlations, incrementing the specified scalar reference with the log absolute determinant of the Jacobian of the transformation.
The implementation is Ben Goodrich's Cholesky factor-based approach to the C-vine method of:
| T | type of elements in the array |
| CPCs | The (K choose 2) canonical partial correlations in (-1, 1). |
| K | Dimensionality of correlation matrix. |
| log_prob | Reference to variable to increment with the log Jacobian determinant. |
Definition at line 97 of file read_corr_L.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::read_corr_matrix | ( | const Eigen::Array< T, Eigen::Dynamic, 1 > & | CPCs, |
| size_t | K | ||
| ) |
Return the correlation matrix of the specified dimensionality corresponding to the specified canonical partial correlations.
See read_corr_matrix(Array, size_t, T) for more information.
| T | type of elements in the array |
| CPCs | The (K choose 2) canonical partial correlations in (-1, 1). |
| K | Dimensionality of correlation matrix. |
Definition at line 25 of file read_corr_matrix.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::read_corr_matrix | ( | const Eigen::Array< T, Eigen::Dynamic, 1 > & | CPCs, |
| size_t | K, | ||
| T & | log_prob | ||
| ) |
Return the correlation matrix of the specified dimensionality corresponding to the specified canonical partial correlations, incrementing the specified scalar reference with the log absolute determinant of the Jacobian of the transformation.
It is usually preferable to utilize the version that returns the Cholesky factor of the correlation matrix rather than the correlation matrix itself in statistical calculations.
| T | type of elements in the array |
| CPCs | The (K choose 2) canonical partial correlations in (-1, 1). |
| K | Dimensionality of correlation matrix. |
| log_prob | Reference to variable to increment with the log Jacobian determinant. |
Definition at line 54 of file read_corr_matrix.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::read_cov_L | ( | const Eigen::Array< T, Eigen::Dynamic, 1 > & | CPCs, |
| const Eigen::Array< T, Eigen::Dynamic, 1 > & | sds, | ||
| T & | log_prob | ||
| ) |
This is the function that should be called prior to evaluating the density of any elliptical distribution.
| T | type of elements in the arrays |
| CPCs | on (-1, 1) |
| sds | on (0, inf) |
| log_prob | the log probability value to increment with the Jacobian |
Definition at line 24 of file read_cov_L.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::read_cov_matrix | ( | const Eigen::Array< T, Eigen::Dynamic, 1 > & | CPCs, |
| const Eigen::Array< T, Eigen::Dynamic, 1 > & | sds, | ||
| T & | log_prob | ||
| ) |
A generally worse alternative to call prior to evaluating the density of an elliptical distribution.
| T | type of elements in the arrays |
| CPCs | on (-1, 1) |
| sds | on (0, inf) |
| log_prob | the log probability value to increment with the Jacobian |
Definition at line 22 of file read_cov_matrix.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> stan::math::read_cov_matrix | ( | const Eigen::Array< T, Eigen::Dynamic, 1 > & | CPCs, |
| const Eigen::Array< T, Eigen::Dynamic, 1 > & | sds | ||
| ) |
Builds a covariance matrix from CPCs and standard deviations.
| T | type of elements in the arrays |
| CPCs | in (-1, 1) |
| sds | in (0, inf) |
Definition at line 38 of file read_cov_matrix.hpp.
|
inlinestatic |
Recover memory used for all variables for reuse.
| std::logic_error | if empty_nested() returns false |
Definition at line 18 of file recover_memory.hpp.
|
inlinestatic |
Recover only the memory used for the top nested call.
If there is nothing on the nested stack, then a std::logic_error exception is thrown.
| std::logic_error | if empty_nested() returns true |
Definition at line 20 of file recover_memory_nested.hpp.
|
inline |
Definition at line 12 of file rep_array.hpp.
|
inline |
Definition at line 18 of file rep_array.hpp.
|
inline |
Definition at line 26 of file rep_array.hpp.
|
inline |
Definition at line 12 of file rep_matrix.hpp.
|
inline |
Definition at line 20 of file rep_matrix.hpp.
|
inline |
Definition at line 29 of file rep_matrix.hpp.
|
inline |
Definition at line 11 of file rep_row_vector.hpp.
|
inline |
Definition at line 11 of file rep_vector.hpp.
|
inline |
Recursively resize the specified vector of vectors, which must bottom out at scalar values, Eigen vectors or Eigen matrices.
| T | type of object being resized |
| x | Array-like object to resize. |
| dims | New dimensions. |
Definition at line 43 of file resize.hpp.
|
inline |
Return a copy of the specified array in reversed order.
| T | type of elements in the array |
| x | array to reverse |
Definition at line 20 of file reverse.hpp.
|
inline |
Return a copy of the specified vector or row vector in reversed order.
| T | type of container (vector or row vector) |
| x | vector or row vector to reverse |
Definition at line 35 of file reverse.hpp.
Definition at line 25 of file rising_factorial.hpp.
Return autodiff variable with the gradient and result of the rising factorial function applied to the inputs.
Will throw for NaN x and for negative n, as implemented in primitive function.
| T | inner type of the fvar |
| x | Argument. |
| n | Argument |
Definition at line 26 of file rising_factorial.hpp.
|
inline |
Return the rising factorial function evaluated at the inputs.
| T | type of the first argument |
| x | first argument |
| n | second argument |
| std::domain_error | if x is NaN |
| std::domain_error | if n is negative |
\[ \mbox{rising\_factorial}(x, n) = \begin{cases} \textrm{error} & \mbox{if } x \leq 0\\ x^{(n)} & \mbox{if } x > 0 \textrm{ and } -\infty \leq n \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } n = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{rising\_factorial}(x, n)}{\partial x} = \begin{cases} \textrm{error} & \mbox{if } x \leq 0\\ \frac{\partial\, x^{(n)}}{\partial x} & \mbox{if } x > 0 \textrm{ and } -\infty \leq n \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } n = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{rising\_factorial}(x, n)}{\partial n} = \begin{cases} \textrm{error} & \mbox{if } x \leq 0\\ \frac{\partial\, x^{(n)}}{\partial n} & \mbox{if } x > 0 \textrm{ and } -\infty \leq n \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN or } n = \textrm{NaN} \end{cases} \]
\[ x^{(n)}=\frac{\Gamma(x+n)}{\Gamma(x)} \]
\[ \frac{\partial \, x^{(n)}}{\partial x} = x^{(n)}(\Psi(x+n)-\Psi(x)) \]
\[ \frac{\partial \, x^{(n)}}{\partial n} = (x)_n\Psi(x+n) \]
Definition at line 62 of file rising_factorial.hpp.
|
inline |
|
inline |
|
inline |
Returns the rounded form of the specified variable (C99).
The derivative is zero everywhere but numbers half way between whole numbers, so for convenience the derivative is defined to be everywhere zero,
\(\frac{d}{dx} \mbox{round}(x) = 0\).
\[ \mbox{round}(x) = \begin{cases} \lceil x \rceil & \mbox{if } x-\lfloor x\rfloor \geq 0.5 \\ \lfloor x \rfloor & \mbox{if } x-\lfloor x\rfloor < 0.5 \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{round}(x)}{\partial x} = \begin{cases} 0 & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Specified variable. |
|
inline |
|
inline |
Return the specified row of the specified matrix, using start-at-1 indexing.
This is equivalent to calling m.row(i - 1) and assigning the resulting template expression to a row vector.
| T | type of elements in the matrix |
| m | Matrix. |
| i | Row index (count from 1). |
| std::out_of_range | if i is out of range. |
|
inline |
Return the number of rows in the specified matrix, vector, or row vector.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in] | m | Input matrix, vector, or row vector. |
|
inline |
Definition at line 13 of file rows_dot_product.hpp.
|
inline |
Definition at line 17 of file rows_dot_product.hpp.
|
inline |
Returns the dot product of the specified vectors.
| R1 | number of rows in the first vector, can be Eigen::Dynamic |
| C1 | number of columns in the first vector, can be Eigen::Dynamic |
| R2 | number of rows in the second vector, can be Eigen::Dynamic |
| C2 | number of columns in the second vector, can be Eigen::Dynamic |
| v1 | First vector. |
| v2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 25 of file rows_dot_product.hpp.
|
inline |
Definition at line 27 of file rows_dot_product.hpp.
|
inline |
Definition at line 41 of file rows_dot_product.hpp.
|
inline |
Definition at line 12 of file rows_dot_self.hpp.
|
inline |
Returns the dot product of each row of a matrix with itself.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| x | matrix |
Definition at line 19 of file rows_dot_self.hpp.
|
inline |
Rowwise max reduction of a kernel generator expression.
| T | type of input expression |
| a | expression to reduce |
Definition at line 223 of file rowwise_reduction.hpp.
|
inline |
Min reduction of a kernel generator expression.
| T | type of input expression |
| a | expression to reduce |
Definition at line 280 of file rowwise_reduction.hpp.
|
inline |
Rowwise sum reduction of a kernel generator expression.
| T | type of input expression |
| a | expression to reduce |
Definition at line 166 of file rowwise_reduction.hpp.
|
inline |
Return product of exp(At) and B, where A is a NxN double matrix, B is a NxCb double matrix, and t is a double.
Specialized for double values for efficiency.
| Cb | number of columns in matrix B, can be Eigen::Dynamic |
| [in] | A | Matrix |
| [in] | B | Matrix |
| [in] | t | double |
Definition at line 24 of file scale_matrix_exp_multiply.hpp.
|
inline |
Return product of exp(At) and B, where A is a NxN matrix, B is a NxCb matrix and t is a scalar.
Generic implementation when arguments are not double.
| Ta | scalar type matrix A |
| Tb | scalar type matrix B |
| Cb | number of columns in matrix B, can be Eigen::Dynamic |
| [in] | A | Matrix |
| [in] | B | Matrix |
| [in] | t | double |
Definition at line 53 of file scale_matrix_exp_multiply.hpp.
|
inline |
Definition at line 11 of file scaled_add.hpp.
| return_type_t<T_y, T_dof, T_scale> stan::math::scaled_inv_chi_square_lccdf | ( | const T_y & | y, |
| const T_dof & | nu, | ||
| const T_scale & | s | ||
| ) |
Definition at line 21 of file scaled_inv_chi_square_lccdf.hpp.
| return_type_t<T_y, T_dof, T_scale> stan::math::scaled_inv_chi_square_lcdf | ( | const T_y & | y, |
| const T_dof & | nu, | ||
| const T_scale & | s | ||
| ) |
Definition at line 21 of file scaled_inv_chi_square_lcdf.hpp.
|
inline |
Definition at line 161 of file scaled_inv_chi_square_lpdf.hpp.
|
inline |
|
inline |
Returns the unbiased sample standard deviation of the coefficients in the specified vector, row vector, or matrix.
| T | type of elements in the vector, row vector, or matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | Specified vector, row vector or matrix. |
|
inline |
Return the specified number of elements as a vector starting from the specified element - 1 of the specified vector.
| T | type of elements in the vector |
Definition at line 18 of file segment.hpp.
|
inline |
Definition at line 31 of file segment.hpp.
| std::vector<T> stan::math::segment | ( | const std::vector< T > & | sv, |
| size_t | i, | ||
| size_t | n | ||
| ) |
Definition at line 45 of file segment.hpp.
|
inline |
Selection operation on kernel generator expressions.
This is element wise ternary operator condition ? then : els .
| T_condition | type of condition expression |
| T_then | type of then expression |
| T_else | type of else expression |
| condition | condition expression |
| then | then expression |
| els | else expression |
Definition at line 119 of file select.hpp.
|
static |
Reset all adjoint values in the stack to zero.
Definition at line 14 of file set_zero_all_adjoints.hpp.
|
static |
Reset all adjoint values in the top nested portion of the stack to zero.
Definition at line 17 of file set_zero_all_adjoints_nested.hpp.
|
inline |
|
inline |
Return true if the specified argument is negative and false otherwise.
Overloads std::signbit from <cmath> for argument-dependent lookup.
| ADType | type of argument |
| [in] | v | argument |
true if the argument is negative Definition at line 21 of file signbit.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::simplex_constrain | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | y | ) |
Return the simplex corresponding to the specified free vector.
A simplex is a vector containing values greater than or equal to 0 that sum to 1. A vector with (K-1) unconstrained values will produce a simplex of size K.
The transform is based on a centered stick-breaking process.
| T | type of elements in the vector |
| y | Free vector input of dimensionality K - 1. |
Definition at line 28 of file simplex_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::simplex_constrain | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | y, |
| T & | lp | ||
| ) |
Return the simplex corresponding to the specified free vector and increment the specified log probability reference with the log absolute Jacobian determinant of the transform.
The simplex transform is defined through a centered stick-breaking process.
| T | type of elements in the vector |
| y | Free vector input of dimensionality K - 1. |
| lp | Log probability reference to increment. |
Definition at line 62 of file simplex_constrain.hpp.
|
inline |
Return the simplex corresponding to the specified free vector.
A simplex is a vector containing values greater than or equal to 0 that sum to 1. A vector with (K-1) unconstrained values will produce a simplex of size K.
The transform is based on a centered stick-breaking process.
| y | Free vector input of dimensionality K - 1 |
Definition at line 96 of file simplex_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::simplex_free | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x | ) |
Return an unconstrained vector that when transformed produces the specified simplex.
It applies to a simplex of dimensionality K and produces an unconstrained vector of dimensionality (K-1).
The simplex transform is defined through a centered stick-breaking process.
| T | type of elements in the simplex |
| x | Simplex of dimensionality K. |
| std::domain_error | if x is not a valid simplex |
Definition at line 28 of file simplex_free.hpp.
|
inline |
Return the sine of a radian-scaled variable (cmath).
The derivative is defined by
\(\frac{d}{dx} \sin x = \cos x\).
\[ \mbox{sin}(x) = \begin{cases} \sin(x) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{sin}(x)}{\partial x} = \begin{cases} \cos(x) & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Variable for radians of angle. |
|
inline |
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::singular_values | ( | const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | m | ) |
Return the vector of the singular values of the specified matrix in decreasing order of magnitude.
See the documentation for svd() for information on the singular values.
| T | type of elements in the matrix |
| m | Specified matrix. |
Definition at line 20 of file singular_values.hpp.
|
inline |
Return the hyperbolic sine of the specified variable (cmath).
The derivative is defined by
\(\frac{d}{dx} \sinh x = \cosh x\).
\[ \mbox{sinh}(x) = \begin{cases} \sinh(x) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{sinh}(x)}{\partial x} = \begin{cases} \cosh(x) & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Variable. |
|
inline |
|
inline |
| size_t stan::math::size_mvt | ( | const Eigen::Matrix< T, R, C > & | ) |
Definition at line 29 of file size_mvt.hpp.
| size_t stan::math::size_mvt | ( | const std::vector< Eigen::Matrix< T, R, C > > & | x | ) |
Definition at line 34 of file size_mvt.hpp.
|
inline |
Returns 1 if input is of length 0, returns 0 otherwise.
| x | argument |
Definition at line 18 of file size_zero.hpp.
|
inline |
Returns 1 if any inputs are of length 0, returns 0 otherwise.
| x | first argument |
| xs | parameter pack of remaining arguments to forward to function |
Definition at line 31 of file size_zero.hpp.
| return_type_t<T_y, T_loc, T_scale, T_shape> stan::math::skew_normal_cdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma, | ||
| const T_shape & | alpha | ||
| ) |
Definition at line 20 of file skew_normal_cdf.hpp.
| return_type_t<T_y, T_loc, T_scale, T_shape> stan::math::skew_normal_lccdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma, | ||
| const T_shape & | alpha | ||
| ) |
Definition at line 19 of file skew_normal_lccdf.hpp.
| return_type_t<T_y, T_loc, T_scale, T_shape> stan::math::skew_normal_lcdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma, | ||
| const T_shape & | alpha | ||
| ) |
Definition at line 19 of file skew_normal_lcdf.hpp.
| return_type_t<T_y, T_loc, T_scale, T_shape> stan::math::skew_normal_lpdf | ( | const T_y & | y, |
| const T_loc & | mu, | ||
| const T_scale & | sigma, | ||
| const T_shape & | alpha | ||
| ) |
Definition at line 20 of file skew_normal_lpdf.hpp.
|
inline |
Definition at line 116 of file skew_normal_lpdf.hpp.
|
inline |
Definition at line 12 of file softmax.hpp.
|
inline |
Return the softmax of the specified vector.
\( \mbox{softmax}(y) = \frac{\exp(y)} {\sum_{k=1}^K \exp(y_k)}, \)
The entries in the Jacobian of the softmax function are given by \( \begin{array}{l} \displaystyle \frac{\partial}{\partial y_m} \mbox{softmax}(y)[k] \\[8pt] \displaystyle \mbox{ } \ \ \ = \left\{ \begin{array}{ll} \mbox{softmax}(y)[k] \times (1 - \mbox{softmax}(y)[m]) & \mbox{ if } m = k, \mbox{ and} \\[6pt] -\mbox{softmax}(y)[k] \times \mbox{softmax}(y)[m] & \mbox{ if } m \neq k. \end{array} \right. \end{array} \)
| T | type of elements in the vector |
| [in] | v | Vector to transform. |
Definition at line 45 of file softmax.hpp.
|
inline |
Return the softmax of the specified Eigen vector.
Softmax is guaranteed to return a simplex.
| alpha | Unconstrained input vector. |
| std::domain_error | If the input vector is size 0. |
Definition at line 73 of file softmax.hpp.
|
inline |
Return the specified standard vector in ascending order.
| T | Type of elements contained in vector. |
| xs | Vector to order. |
| std::domain_error | If any of the values are NaN. |
Definition at line 22 of file sort_asc.hpp.
|
inline |
Return the specified vector in ascending order.
| T | type of elements in the vector |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| xs | Vector to order. |
| std::domain_error | If any of the values are NaN. |
Definition at line 40 of file sort_asc.hpp.
|
inline |
Return the specified standard vector in descending order.
| T | Type of elements contained in vector. |
| xs | Vector to order. |
| std::domain_error | If any of the values are NaN. |
Definition at line 24 of file sort_desc.hpp.
|
inline |
Return the specified vector in descending order.
| T | type of elements in the vector |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| xs | Vector to order. |
| std::domain_error | If any of the values are NaN. |
Definition at line 42 of file sort_desc.hpp.
| std::vector<int> stan::math::sort_indices | ( | const C & | xs | ) |
Return an integer array of indices of the specified container sorting the values in ascending or descending order based on the value of the first template prameter.
| ascending | true if sort is in ascending order |
| C | type of container |
| xs | Container to sort |
Definition at line 63 of file sort_indices.hpp.
| std::vector<int> stan::math::sort_indices_asc | ( | const C & | xs | ) |
Return a sorted copy of the argument container in ascending order.
| C | type of container |
| xs | Container to sort |
Definition at line 21 of file sort_indices_asc.hpp.
| std::vector<int> stan::math::sort_indices_desc | ( | const C & | xs | ) |
Return a sorted copy of the argument container in ascending order.
| C | type of container |
| xs | Container to sort |
Definition at line 21 of file sort_indices_desc.hpp.
|
inline |
|
inline |
Return the square root of the specified variable (cmath).
The derivative is defined by
\(\frac{d}{dx} \sqrt{x} = \frac{1}{2 \sqrt{x}}\).
\[ \mbox{sqrt}(x) = \begin{cases} \textrm{NaN} & x < 0 \\ \sqrt{x} & \mbox{if } x\geq 0\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{sqrt}(x)}{\partial x} = \begin{cases} \textrm{NaN} & x < 0 \\ \frac{1}{2\sqrt{x}} & x\geq 0\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Variable whose square root is taken. |
|
inline |
|
inline |
Returns the square root of two.
Definition at line 221 of file constants.hpp.
Definition at line 12 of file square.hpp.
|
inline |
Return the square of the specified argument.
\(\mbox{square}(x) = x^2\).
The implementation of square(x) is just x * x. Given this, this method is mainly useful in cases where x is not a simple primitive type, particularly when it is an autodiff type.
| x | Input to square. |
Definition at line 25 of file square.hpp.
Return the square of the input variable.
Using square(x) is more efficient than using x * x.
\[ \mbox{square}(x) = \begin{cases} x^2 & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{square}(x)}{\partial x} = \begin{cases} 2x & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| x | Variable to square. |
Definition at line 43 of file square.hpp.
|
inline |
Vectorized version of square().
| T | type of container |
| x | container |
Definition at line 49 of file square.hpp.
|
inline |
Version of square() that accepts Eigen Matrix or matrix expressions.
| Derived | derived type of x |
| x | Matrix or matrix expression |
Definition at line 62 of file square.hpp.
|
inline |
Returns the squared distance.
| x1 | First vector. |
| x2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 22 of file squared_distance.hpp.
|
inline |
Returns the squared distance between the specified vectors of the same dimensions.
| T | inner type of the fvar vector |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| v1 | First vector. |
| v2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 27 of file squared_distance.hpp.
Returns the squared distance.
Definition at line 41 of file squared_distance.hpp.
|
inline |
Returns the squared distance between the specified vectors of the same dimensions.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| v1 | First vector. |
| v2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 41 of file squared_distance.hpp.
Returns the squared distance.
Definition at line 47 of file squared_distance.hpp.
|
inline |
Returns the squared distance between the specified vectors of the same dimensions.
| T | inner type of the fvar vector |
| R1 | number of rows in the first vector, can be Eigen::Dynamic |
| C1 | number of columns in the first vector, can be Eigen::Dynamic |
| R2 | number of rows in the second vector, can be Eigen::Dynamic |
| C2 | number of columns in the second vector, can be Eigen::Dynamic |
| v1 | First vector. |
| v2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 53 of file squared_distance.hpp.
Returns the squared distance.
Definition at line 53 of file squared_distance.hpp.
|
inline |
Returns the squared distance between the specified vectors of the same dimensions.
| R1 | number of rows in the first vector, can be Eigen::Dynamic |
| C1 | number of columns in the first vector, can be Eigen::Dynamic |
| R2 | number of rows in the second vector, can be Eigen::Dynamic |
| C2 | number of columns in the second vector, can be Eigen::Dynamic |
| v1 | First vector. |
| v2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 65 of file squared_distance.hpp.
|
inline |
Returns the squared distance between the specified vectors of the same dimensions.
| T | inner type of the fvar vector |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| v1 | First vector. |
| v2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 78 of file squared_distance.hpp.
|
inline |
Returns the squared distance between the specified vectors of the same dimensions.
| T | inner type of the fvar vector |
| R1 | number of rows in the first vector, can be Eigen::Dynamic |
| C1 | number of columns in the first vector, can be Eigen::Dynamic |
| R2 | number of rows in the second vector, can be Eigen::Dynamic |
| C2 | number of columns in the second vector, can be Eigen::Dynamic |
| v1 | First vector. |
| v2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 104 of file squared_distance.hpp.
|
inline |
Returns the squared distance between the specified vectors of the same dimensions.
| T | inner type of the fvar vector |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| v1 | First vector. |
| v2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 129 of file squared_distance.hpp.
|
inline |
Definition at line 134 of file squared_distance.hpp.
|
inline |
Definition at line 142 of file squared_distance.hpp.
|
inline |
Definition at line 150 of file squared_distance.hpp.
|
inline |
Returns the squared distance between the specified vectors of the same dimensions.
| T | inner type of the fvar vector |
| R1 | number of rows in the first vector, can be Eigen::Dynamic |
| C1 | number of columns in the first vector, can be Eigen::Dynamic |
| R2 | number of rows in the second vector, can be Eigen::Dynamic |
| C2 | number of columns in the second vector, can be Eigen::Dynamic |
| v1 | First vector. |
| v2 | Second vector. |
| std::domain_error | If the vectors are not the same size or if they are both not vector dimensioned. |
Definition at line 155 of file squared_distance.hpp.
|
inline |
Definition at line 11 of file stan_print.hpp.
| void stan::math::stan_print | ( | std::ostream * | o, |
| const T & | x | ||
| ) |
Definition at line 12 of file stan_print.hpp.
| void stan::math::stan_print | ( | std::ostream * | o, |
| const std::vector< T > & | x | ||
| ) |
Definition at line 17 of file stan_print.hpp.
| void stan::math::stan_print | ( | std::ostream * | o, |
| const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x | ||
| ) |
Definition at line 29 of file stan_print.hpp.
| void stan::math::stan_print | ( | std::ostream * | o, |
| const Eigen::Matrix< T, 1, Eigen::Dynamic > & | x | ||
| ) |
Definition at line 41 of file stan_print.hpp.
| void stan::math::stan_print | ( | std::ostream * | o, |
| const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | x | ||
| ) |
Definition at line 53 of file stan_print.hpp.
|
inlinestatic |
Record the current position so that recover_memory_nested() can find it.
Definition at line 13 of file start_nested.hpp.
|
inline |
Definition at line 18 of file std_normal_lccdf.hpp.
|
inline |
Definition at line 21 of file std_normal_lcdf.hpp.
|
inline |
Definition at line 63 of file std_normal_lpdf.hpp.
Return the step, or heaviside, function applied to the specified variable (stan).
See step() for the double-based version.
The derivative of the step function is zero everywhere but at 0, so for convenience, it is taken to be everywhere zero,
\(\mbox{step}(x) = 0\).
| a | Variable argument. |
|
inline |
The step, or Heaviside, function.
The function is defined by
step(y) = (y < 0.0) ? 0 : 1.
\[ \mbox{step}(x) = \begin{cases} 0 & \mbox{if } x \leq 0 \\ 1 & \mbox{if } x > 0 \\[6pt] 0 & \mbox{if } x = \textrm{NaN} \end{cases} \]
| T | type of value |
| y | value |
| return_type_t<T_y, T_dof, T_loc, T_scale> stan::math::student_t_cdf | ( | const T_y & | y, |
| const T_dof & | nu, | ||
| const T_loc & | mu, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 21 of file student_t_cdf.hpp.
| return_type_t<T_y, T_dof, T_loc, T_scale> stan::math::student_t_lccdf | ( | const T_y & | y, |
| const T_dof & | nu, | ||
| const T_loc & | mu, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 21 of file student_t_lccdf.hpp.
| return_type_t<T_y, T_dof, T_loc, T_scale> stan::math::student_t_lcdf | ( | const T_y & | y, |
| const T_dof & | nu, | ||
| const T_loc & | mu, | ||
| const T_scale & | sigma | ||
| ) |
Definition at line 21 of file student_t_lcdf.hpp.
|
inline |
Definition at line 198 of file student_t_lpdf.hpp.
|
inline |
Return a nrows x 1 subcolumn starting at (i-1, j-1).
| T | type of elements in the matrix |
| m | Matrix. |
| i | Starting row + 1. |
| j | Starting column + 1. |
| nrows | Number of rows in block. |
| std::out_of_range | if either index is out of range. |
Definition at line 21 of file sub_col.hpp.
|
inline |
Return a 1 x nrows subrow starting at (i-1, j-1).
| T | type of elements in the matrix |
| m | Matrix Input matrix. |
| i | Starting row + 1. |
| j | Starting column + 1. |
| ncols | Number of columns in block. |
| std::out_of_range | if either index is out of range. |
Definition at line 21 of file sub_row.hpp.
|
inline |
Return the result of subtracting the second specified matrix from the first specified matrix.
The return scalar type is the promotion of the input types.
| T1 | type of elements in the first matrix |
| T2 | type of elements in the second matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m1 | First matrix. |
| m2 | Second matrix. |
Definition at line 25 of file subtract.hpp.
|
inline |
Definition at line 32 of file subtract.hpp.
|
inline |
Definition at line 38 of file subtract.hpp.
|
inline |
|
inline |
|
inline |
|
inline |
Returns the sum of the coefficients of the specified matrix, column vector or row vector.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| m | Specified matrix or vector. |
|
inline |
Throw a system error with a consistently formatted message.
This is an abstraction for all Stan functions to use when throwing system errors. This will allow us to change the behavior for all functions at once. The message is: "<function>: <name> <msg1><y><msg2>"
| [in] | function | Name of the function. |
| [in] | name | Name of the variable. |
| [in] | y | Error code. |
| [in] | msg1 | Message to print before the variable. |
| [in] | msg2 | Message to print after the variable. |
| std::system_error | Always. |
Definition at line 25 of file system_error.hpp.
|
inline |
Throw a system error with a consistently formatted message.
This is an abstraction for all Stan functions to use when throwing system errors. This will allow us to change the behavior for all functions at once. The message is: * "<function>: <name> <msg1><y>"
| [in] | function | Name of the function. |
| [in] | name | Name of the variable. |
| [in] | y | Error code. |
| [in] | msg1 | Message to print before the variable. |
| std::system_error | Always. |
Definition at line 45 of file system_error.hpp.
|
inline |
Return the specified number of elements as a vector from the back of the specified vector.
| T | type of elements in the vector |
| v | Vector input. |
| n | Size of return. |
| std::out_of_range | if n is out of range. |
|
inline |
Return the specified number of elements as a row vector from the back of the specified row vector.
| T | type of elements in the vector |
| rv | Row vector. |
| n | Size of return row vector. |
| std::out_of_range | if n is out of range. |
| std::vector<T> stan::math::tail | ( | const std::vector< T > & | sv, |
| size_t | n | ||
| ) |
Return the specified number of elements as a standard vector from the back of the specified standard vector.
| T | type of elements in the vector |
| sv | Standard vector. |
| n | Size of return. |
| std::out_of_range | if n is out of range. |
|
inline |
Return the tangent of a radian-scaled variable (cmath).
The derivative is defined by
\(\frac{d}{dx} \tan x = \sec^2 x\).
\[ \mbox{tan}(x) = \begin{cases} \tan(x) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{tan}(x)}{\partial x} = \begin{cases} \sec^2(x) & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Variable for radians of angle. |
|
inline |
|
inline |
|
inline |
Return the hyperbolic tangent of the specified variable (cmath).
The derivative is defined by
\(\frac{d}{dx} \tanh x = \frac{1}{\cosh^2 x}\).
\[ \mbox{tanh}(x) = \begin{cases} \tanh(x) & \mbox{if } -\infty\leq x \leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{tanh}(x)}{\partial x} = \begin{cases} \mbox{sech}^2(x) & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Variable. |
|
inline |
Definition at line 12 of file tcrossprod.hpp.
|
inline |
Returns the result of post-multiplying a matrix by its own transpose.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| M | Matrix to multiply. |
Definition at line 20 of file tcrossprod.hpp.
|
inline |
Returns the result of post-multiplying a matrix by its own transpose.
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| M | Matrix to multiply. |
Definition at line 25 of file tcrossprod.hpp.
|
inline |
Return the gamma function applied to the specified argument.
| x | Argument. |
Definition at line 18 of file tgamma.hpp.
Return the result of applying the gamma function to the specified argument.
| T | inner type of the fvar |
| x | Argument. |
Definition at line 21 of file tgamma.hpp.
|
inline |
Vectorized version of tgamma().
| T | type of container |
| x | container |
| std::domain_error | if any value is 0 or a negative integer |
Definition at line 49 of file tgamma.hpp.
Return the Gamma function applied to the specified variable (C99).
The derivative with respect to the argument is
\(\frac{d}{dx} \Gamma(x) = \Gamma(x) \Psi^{(0)}(x)\)
where \(\Psi^{(0)}(x)\) is the digamma function.
\[ \mbox{tgamma}(x) = \begin{cases} \textrm{error} & \mbox{if } x\in \{\dots, -3, -2, -1, 0\}\\ \Gamma(x) & \mbox{if } x\not\in \{\dots, -3, -2, -1, 0\}\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{tgamma}(x)}{\partial x} = \begin{cases} \textrm{error} & \mbox{if } x\in \{\dots, -3, -2, -1, 0\}\\ \frac{\partial\, \Gamma(x)}{\partial x} & \mbox{if } x\not\in \{\dots, -3, -2, -1, 0\}\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \Gamma(x)=\int_0^{\infty} u^{x - 1} \exp(-u) \, du \]
\[ \frac{\partial \, \Gamma(x)}{\partial x} = \Gamma(x)\Psi(x) \]
| a | Argument to function. |
Definition at line 56 of file tgamma.hpp.
|
inline |
Throw a domain error with a consistently formatted message.
This is an abstraction for all Stan functions to use when throwing domain errors. This will allow us to change the behavior for all functions at once. The message is: "<function>: <name> <msg1><y><msg2>"
| T | Type of variable. |
| [in] | function | Name of the function. |
| [in] | name | Name of the variable. |
| [in] | y | Variable. |
| [in] | msg1 | Message to print before the variable. |
| [in] | msg2 | Message to print after the variable. |
| std::domain_error | Always. |
Definition at line 26 of file throw_domain_error.hpp.
|
inline |
Throw a domain error with a consistently formatted message.
This is an abstraction for all Stan functions to use when throwing domain errors. This will allow us to change the behavior for all functions at once. The message is: * "<function>: <name> <msg1><y>"
| T | Type of variable. |
| [in] | function | Name of the function. |
| [in] | name | Name of the variable. |
| [in] | y | Variable. |
| [in] | msg1 | Message to print before the variable. |
| std::domain_error | Always. |
Definition at line 49 of file throw_domain_error.hpp.
|
inline |
Throw a domain error with a consistently formatted message.
This is an abstraction for all Stan functions to use when throwing domain errors. This will allow us to change the behavior for all functions at once. The message is: "<function>: <name>[<i+error_index>] <msg1><y>" where error_index is the value of stan::error_index::value which indicates whether the message should be 0 or 1 indexed.
| T | Type of variable |
| function | Name of the function |
| name | Name of the variable |
| y | Variable |
| i | Index |
| msg1 | Message to print before the variable |
| msg2 | Message to print after the variable |
| std::domain_error | Always. |
Definition at line 31 of file throw_domain_error_vec.hpp.
|
inline |
Throw a domain error with a consistently formatted message.
This is an abstraction for all Stan functions to use when throwing domain errors. This will allow us to change the behavior for all functions at once. The message is: "<function>: <name>[<i+error_index>] <msg1><y>" where error_index is the value of stan::error_index::value which indicates whether the message should be 0 or 1 indexed.
| T | Type of variable |
| function | Name of the function |
| name | Name of the variable |
| y | Variable |
| i | Index |
| msg | Message to print before the variable |
| std::domain_error | Always |
Definition at line 57 of file throw_domain_error_vec.hpp.
|
inline |
Definition at line 15 of file to_array_1d.hpp.
|
inline |
Definition at line 27 of file to_array_1d.hpp.
|
inline |
Definition at line 33 of file to_array_1d.hpp.
|
inline |
Definition at line 12 of file to_array_2d.hpp.
|
inline |
Definition at line 14 of file to_fvar.hpp.
Specialization of to_fvar for const fvars.
| [in,out] | x | A forward automatic differentation variables. |
Definition at line 25 of file to_fvar.hpp.
Specialization of to_fvar for non-const fvars.
| [in,out] | x | A forward automatic differentation variables. |
Definition at line 36 of file to_fvar.hpp.
|
inline |
Definition at line 41 of file to_fvar.hpp.
|
inline |
Definition at line 50 of file to_fvar.hpp.
|
inline |
Specialization of to_fvar for const fvar input.
| T | inner type of the fvar |
| [in,out] | v | A vector of forward automatic differentiation variable. |
Definition at line 67 of file to_fvar.hpp.
|
inline |
Specialization of to_fvar for non-const fvar input.
| T | inner type of the fvar |
| [in,out] | v | A vector of forward automatic differentiation variable. |
Definition at line 79 of file to_fvar.hpp.
|
inline |
Specialization of to_fvar for const matrices of fvars.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in,out] | m | A matrix of forward automatic differentation variables. |
Definition at line 94 of file to_fvar.hpp.
|
inline |
Specialization of to_fvar for non-const matrices of fvars.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| [in,out] | m | A matrix of forward automatic differentation variables. |
Definition at line 109 of file to_fvar.hpp.
|
inline |
Definition at line 114 of file to_fvar.hpp.
|
inline |
Definition at line 124 of file to_fvar.hpp.
|
inline |
Returns a matrix with dynamic dimensions constructed from an Eigen matrix which is either a row vector, column vector, or matrix.
The runtime dimensions will be the same as the input.
| T | type of the elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| x | matrix |
Definition at line 25 of file to_matrix.hpp.
|
inline |
Returns a matrix representation of a standard vector of Eigen row vectors with the same dimensions and indexing order.
| T | type of the elements in the vector |
| x | Eigen vector of vectors of scalar values |
Definition at line 39 of file to_matrix.hpp.
|
inline |
Returns a matrix representation of the standard vector of standard vectors with the same dimensions and indexing order.
| T | type of elements in the vector |
| x | vector of vectors of scalar values |
Definition at line 65 of file to_matrix.hpp.
|
inline |
Returns a matrix representation of the vector in column-major order with the specified number of rows and columns.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| x | matrix |
| m | rows |
| n | columns |
| <code>std::invalid_argument</code> | if the sizes do not match |
Definition at line 98 of file to_matrix.hpp.
|
inline |
Returns a matrix representation of the vector in column-major order with the specified number of rows and columns.
| T | type of elements in the vector |
| x | vector of values |
| m | rows |
| n | columns |
| <code>std::invalid_argument</code> | if the sizes do not match |
Definition at line 120 of file to_matrix.hpp.
|
inline |
Returns a matrix representation of the vector in column-major order with the specified number of rows and columns.
| x | vector of values |
| m | rows |
| n | columns |
| <code>std::invalid_argument</code> | if the sizes do not match |
Definition at line 139 of file to_matrix.hpp.
|
inline |
Returns a matrix representation of the vector in column-major order with the specified number of rows and columns.
| T | type of elements in the matrix |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| x | matrix |
| m | rows |
| n | columns |
| col_major | column-major indicator: if 1, output matrix is transversed in column-major order, if 0, output matrix is transversed in row-major order, otherwise function throws std::invalid_argument |
| <code>std::invalid_argument</code> | if the sizes do not match |
Definition at line 171 of file to_matrix.hpp.
|
inline |
Returns a matrix representation of the vector in column-major order with the specified number of rows and columns.
| T | type of elements in the vector |
| x | vector of values |
| m | rows |
| n | columns |
| col_major | column-major indicator: if 1, output matrix is transversed in column-major order, if 0, output matrix is transversed in row-major order, otherwise function throws std::invalid_argument |
| <code>std::invalid_argument</code> | if the sizes do not match |
Definition at line 205 of file to_matrix.hpp.
|
inline |
|
inline |
Definition at line 14 of file to_row_vector.hpp.
|
inline |
Definition at line 22 of file to_row_vector.hpp.
|
inline |
Definition at line 28 of file to_row_vector.hpp.
|
inline |
Converts argument to an automatic differentiation variable.
Returns a var variable with the input value.
| [in] | x | A scalar value |
Definition at line 22 of file to_var.hpp.
Specialization of to_var for non-const var input.
| [in,out] | x | An automatic differentiation variable. |
Definition at line 30 of file to_var.hpp.
Specialization of to_var for const var input.
| [in,out] | x | An automatic differentiation variable. |
Definition at line 38 of file to_var.hpp.
|
inline |
Converts argument to an automatic differentiation variable.
Returns a var variable with the input value.
| [in] | v | A std::vector<double> |
Definition at line 48 of file to_var.hpp.
Specialization of to_var to for const input vector of var.
Returns a var variable from the input
| [in] | v | A std::vector<var> |
Definition at line 64 of file to_var.hpp.
Specialization of to_var to for non-const input vector of var.
Returns a var variable from the input
| [in] | v | A std::vector<var> |
Definition at line 74 of file to_var.hpp.
Converts argument to an automatic differentiation variable.
Returns a var variable with the input value.
| [in] | m | A Matrix with scalars |
Definition at line 84 of file to_var.hpp.
Specialization of to_var for non-const matrices of vars.
| [in,out] | m | A matrix of automatic differentation variables. |
Definition at line 95 of file to_var.hpp.
Specialization of to_var for const matrices of vars.
| [in,out] | m | A matrix of automatic differentation variables. |
Definition at line 103 of file to_var.hpp.
Converts argument to an automatic differentiation variable.
Returns a var variable with the input value.
| [in] | v | A Vector of scalars |
Definition at line 114 of file to_var.hpp.
Specialization of to_var for const column vector of vars.
| [in,out] | v | A column vector of automatic differentation variables. |
Definition at line 125 of file to_var.hpp.
Specialization of to_var for non-const column vector of vars.
| [in,out] | v | A column vector of automatic differentation variables. |
Definition at line 133 of file to_var.hpp.
|
inline |
Converts argument to an automatic differentiation variable.
Returns a var variable with the input value.
| [in] | rv | A row vector of scalars |
Definition at line 144 of file to_var.hpp.
|
inline |
Specialization of to_var for const row vector of vars.
| [in,out] | rv | A column vector of automatic differentation variables. |
Definition at line 155 of file to_var.hpp.
|
inline |
Specialization of to_var for non-const row vector of vars.
| [in,out] | rv | A column vector of automatic differentation variables. |
Definition at line 163 of file to_var.hpp.
|
inline |
Definition at line 14 of file to_vector.hpp.
|
inline |
Definition at line 22 of file to_vector.hpp.
|
inline |
Definition at line 28 of file to_vector.hpp.
|
inline |
Returns the trace of the specified matrix.
The trace is defined as the sum of the elements on the diagonal. The matrix is not required to be square. Returns 0 if matrix is empty.
| T | type of the elements in the matrix |
| [in] | m | Specified matrix. |
|
inline |
|
inline |
Compute the trace of an inverse quadratic form premultiplied by a square matrix.
This computes trace(D B^T A^-1 B) where D is a square matrix and the LDLT_factor of A is provided.
| T1 | type of elements in the first matrix |
| R1 | number of rows, can be Eigen::Dynamic |
| C1 | number of columns, can be Eigen::Dynamic |
| T2 | type of elements in the LDLT_factor |
| R2 | number of rows in the LDLT_factor, can be Eigen::Dynamic |
| C2 | number of columns in the LDLT_factor, can be Eigen::Dynamic |
| T3 | type of elements in the second matrix |
| R3 | number of rows, can be Eigen::Dynamic |
| C3 | number of columns, can be Eigen::Dynamic |
| D | a square matrix |
| A | an LDLT_factor |
| B | a matrix |
Definition at line 37 of file trace_gen_inv_quad_form_ldlt.hpp.
|
inline |
Definition at line 41 of file trace_gen_inv_quad_form_ldlt.hpp.
|
inline |
Return the trace of D times the quadratic form of B and A.
That is, `trace_gen_quad_form(D, A, B) = trace(D * B' * A * B).`
| TD | type of elements in the first matrix |
| TA | type of elements in the second matrix |
| TB | type of elements in the third matrix |
| RD | number of rows in the first matrix, can be Eigen::Dynamic |
| CD | number of columns in the first matrix, can be Eigen::Dynamic |
| RA | number of rows in the second matrix, can be Eigen::Dynamic |
| CA | number of columns in the second matrix, can be Eigen::Dynamic |
| RB | number of rows in the third matrix, can be Eigen::Dynamic |
| CB | number of columns in the third matrix, can be Eigen::Dynamic |
| D | multiplier |
| A | outside term in quadratic form |
| B | inner term in quadratic form |
| std::domain_error | if A or D is not square |
| std::domain_error | if A cannot be multiplied by B or B cannot be multiplied by D. |
Definition at line 39 of file trace_gen_quad_form.hpp.
|
inline |
Return the trace of D times the quadratic form of B and A.
That is, `trace_gen_quad_form(D, A, B) = trace(D * B' * A * B).` This is the double-only overload to allow Eigen's expression templates to be used for efficiency.
| RD | number of rows in the first matrix, can be Eigen::Dynamic |
| CD | number of columns in the first matrix, can be Eigen::Dynamic |
| RA | number of rows in the second matrix, can be Eigen::Dynamic |
| CA | number of columns in the second matrix, can be Eigen::Dynamic |
| TB | type of elements in the third matrix |
| RB | number of rows in the third matrix, can be Eigen::Dynamic |
| CB | number of columns in the third matrix, can be Eigen::Dynamic |
| D | multiplier |
| A | outside term in quadratic form |
| B | inner term in quadratic form |
| std::domain_error | if A or D is not square |
| std::domain_error | if A cannot be multiplied by B or B cannot be multiplied by D. |
Definition at line 72 of file trace_gen_quad_form.hpp.
|
inline |
Definition at line 90 of file trace_gen_quad_form.hpp.
|
inline |
Definition at line 33 of file trace_inv_quad_form_ldlt.hpp.
|
inline |
Compute the trace of an inverse quadratic form.
I.E., this computes trace(B^T A^-1 B) where the LDLT_factor of A is provided.
| T2 | type of elements in the LDLT_factor |
| R2 | number of rows, can be Eigen::Dynamic |
| C2 | number of columns, can be Eigen::Dynamic |
| T3 | type of elements in the second matrix |
| R3 | number of rows, can be Eigen::Dynamic |
| C3 | number of columns, can be Eigen::Dynamic |
| A | an LDLT_factor |
| B | a matrix |
Definition at line 159 of file trace_inv_quad_form_ldlt.hpp.
|
inline |
Definition at line 15 of file trace_quad_form.hpp.
|
inline |
Definition at line 23 of file trace_quad_form.hpp.
|
inline |
Compute trace(B^T A B).
| RA | number of rows in the first matrix, can be Eigen::Dynamic |
| CA | number of columns in the first matrix, can be Eigen::Dynamic |
| RB | number of rows in the second matrix, can be Eigen::Dynamic |
| CB | number of columns in the second matrix, can be Eigen::Dynamic |
| A | matrix |
| B | matrix |
| std::domain_error | if A is not square |
| std::domain_error | if A cannot be multiplied by B |
Definition at line 25 of file trace_quad_form.hpp.
|
inline |
Definition at line 31 of file trace_quad_form.hpp.
|
inline |
Definition at line 78 of file trace_quad_form.hpp.
|
inline |
Definition at line 10 of file transpose.hpp.
Return the value of the trigamma function at the specified argument (i.e., the second derivative of the log Gamma function at the specified argument).
| T | inner type of the fvar |
| u | argument |
Definition at line 21 of file trigamma.hpp.
Return the value of the trigamma function at the specified argument (i.e., the second derivative of the log Gamma function at the specified argument).
| u | argument |
Definition at line 23 of file trigamma.hpp.
|
inline |
Return the second derivative of the log Gamma function evaluated at the specified argument.
\[ \mbox{trigamma}(x) = \begin{cases} \textrm{error} & \mbox{if } x\in \{\dots, -3, -2, -1, 0\}\\ \Psi_1(x) & \mbox{if } x\not\in \{\dots, -3, -2, -1, 0\}\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{trigamma}(x)}{\partial x} = \begin{cases} \textrm{error} & \mbox{if } x\in \{\dots, -3, -2, -1, 0\}\\ \frac{\partial\, \Psi_1(x)}{\partial x} & \mbox{if } x\not\in \{\dots, -3, -2, -1, 0\}\\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \Psi_1(x)=\sum_{n=0}^\infty \frac{1}{(x+n)^2} \]
\[ \frac{\partial \, \Psi_1(x)}{\partial x} = -2\sum_{n=0}^\infty \frac{1}{(x+n)^3} \]
| [in] | u | argument |
Definition at line 116 of file trigamma.hpp.
|
inline |
Return the second derivative of the log Gamma function evaluated at the specified argument.
| [in] | u | argument |
Definition at line 125 of file trigamma.hpp.
|
inline |
Return the elementwise application of trigamma() to specified argument container.
The return type promotes the underlying scalar argument type to double if it is an integer, and otherwise is the argument type.
| T | type of container |
| x | container |
Definition at line 156 of file trigamma.hpp.
|
inline |
Return the trigamma function applied to the argument.
The trigamma function returns the second derivative of the log Gamma function evaluated at the specified argument. This base templated version is used in prim, fwd, and rev implementations.
| T | scalar argument type |
| x | argument |
Definition at line 33 of file trigamma.hpp.
|
inline |
|
inline |
Returns the truncatation of the specified variable (C99).
See trunc() for the double-based version.
The derivative is zero everywhere but at integer values, so for convenience the derivative is defined to be everywhere zero,
\(\frac{d}{dx} \mbox{trunc}(x) = 0\).
\[ \mbox{trunc}(x) = \begin{cases} \lfloor x \rfloor & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
\[ \frac{\partial\, \mbox{trunc}(x)}{\partial x} = \begin{cases} 0 & \mbox{if } -\infty\leq x\leq \infty \\[6pt] \textrm{NaN} & \mbox{if } x = \textrm{NaN} \end{cases} \]
| a | Specified variable. |
|
inline |
Return the elementwise application of trunc() to specified argument container.
The return type promotes the underlying scalar argument type to double if it is an integer, and otherwise is the argument type.
| T | type of container |
| x | container |
|
inline |
Return the upper-bounded value for the specified unconstrained scalar and upper bound.
The transform is
\(f(x) = U - \exp(x)\)
where \(U\) is the upper bound.
If the upper bound is positive infinity, this function reduces to identity_constrain(x).
| T | type of scalar |
| U | type of upper bound |
| [in] | x | free scalar. |
| [in] | ub | upper bound |
Definition at line 32 of file ub_constrain.hpp.
|
inline |
Return the upper-bounded value for the specified unconstrained scalar and upper bound and increment the specified log probability reference with the log absolute Jacobian determinant of the transform.
The transform is as specified for ub_constrain(T, double). The log absolute Jacobian determinant is
\( \log | \frac{d}{dx} -\mbox{exp}(x) + U | = \log | -\mbox{exp}(x) + 0 | = x\).
If the upper bound is positive infinity, this function reduces to identity_constrain(x, lp).
| T | type of scalar |
| U | type of upper bound |
| [in] | x | free scalar. |
| [in] | ub | upper bound |
| [in,out] | lp | log density |
Definition at line 64 of file ub_constrain.hpp.
|
inline |
Return the free scalar that corresponds to the specified upper-bounded value with respect to the specified upper bound.
The transform is the reverse of the ub_constrain(T, double) transform,
\(f^{-1}(y) = \log -(y - U)\)
where \(U\) is the upper bound.
If the upper bound is positive infinity, this function reduces to identity_free(y).
| T | type of scalar |
| U | type of upper bound |
| y | constrained scalar with specified upper bound |
| ub | upper bound |
| std::invalid_argument | if constrained scalar is greater than the upper bound. |
Definition at line 36 of file ub_free.hpp.
| return_type_t<T_y, T_low, T_high> stan::math::uniform_cdf | ( | const T_y & | y, |
| const T_low & | alpha, | ||
| const T_high & | beta | ||
| ) |
Definition at line 15 of file uniform_cdf.hpp.
| return_type_t<T_y, T_low, T_high> stan::math::uniform_lccdf | ( | const T_y & | y, |
| const T_low & | alpha, | ||
| const T_high & | beta | ||
| ) |
Definition at line 16 of file uniform_lccdf.hpp.
| return_type_t<T_y, T_low, T_high> stan::math::uniform_lcdf | ( | const T_y & | y, |
| const T_low & | alpha, | ||
| const T_high & | beta | ||
| ) |
Definition at line 16 of file uniform_lcdf.hpp.
|
inline |
Definition at line 111 of file uniform_lpdf.hpp.
|
inline |
Return a uniform simplex of size K.
| K | size of the simplex |
| std::domain_error | if K is not positive. |
Definition at line 18 of file uniform_simplex.hpp.
|
inline |
Definition at line 20 of file unit_vector_constrain.hpp.
| Eigen::Matrix<T, R, C> stan::math::unit_vector_constrain | ( | const Eigen::Matrix< T, R, C > & | y | ) |
Return the unit length vector corresponding to the free vector y.
See the Wikipedia page on generating random points on an N-sphere.
| T | type of elements in the vector |
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| y | vector of K unrestricted variables |
Definition at line 26 of file unit_vector_constrain.hpp.
| Eigen::Matrix<T, R, C> stan::math::unit_vector_constrain | ( | const Eigen::Matrix< T, R, C > & | y, |
| T & | lp | ||
| ) |
Return the unit length vector corresponding to the free vector y.
See https://en.wikipedia.org/wiki/N-sphere#Generating_random_points
| T | type of elements in the vector |
| R | number of rows in the matrix, can be Eigen::Dynamic |
| C | number of columns in the matrix, can be Eigen::Dynamic |
| y | vector of K unrestricted variables |
| lp | Log probability reference to increment. |
Definition at line 48 of file unit_vector_constrain.hpp.
|
inline |
Definition at line 52 of file unit_vector_constrain.hpp.
| Eigen::Matrix<var, R, C> stan::math::unit_vector_constrain | ( | const Eigen::Matrix< var, R, C > & | y | ) |
Return the unit length vector corresponding to the free vector y.
See https://en.wikipedia.org/wiki/N-sphere#Generating_random_points
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| y | vector of K unrestricted variables |
Definition at line 56 of file unit_vector_constrain.hpp.
| Eigen::Matrix<var, R, C> stan::math::unit_vector_constrain | ( | const Eigen::Matrix< var, R, C > & | y, |
| var & | lp | ||
| ) |
Return the unit length vector corresponding to the free vector y.
See https://en.wikipedia.org/wiki/N-sphere#Generating_random_points
| R | number of rows, can be Eigen::Dynamic |
| C | number of columns, can be Eigen::Dynamic |
| y | vector of K unrestricted variables |
| lp | Log probability reference to increment. |
Definition at line 92 of file unit_vector_constrain.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> stan::math::unit_vector_free | ( | const Eigen::Matrix< T, Eigen::Dynamic, 1 > & | x | ) |
Transformation of a unit length vector to a "free" vector However, we are just fixing the unidentified radius to 1.
Thus, the transformation is just the identity
| T | type of elements in the vector |
| x | unit vector of dimension K |
Definition at line 22 of file unit_vector_free.hpp.
|
inline |
Definition at line 12 of file validate_non_negative_index.hpp.
|
inline |
Return the value of the specified variable.
| T | inner type of the fvar |
| v | Variable. |
Definition at line 18 of file value_of.hpp.
|
inline |
Return the value of the specified variable.
This function is used internally by autodiff functions along with value_of(T x) to extract the double value of either a scalar or an autodiff variable. This function will be called when the argument is a var even if the function is not referred to by namespace because of argument-dependent lookup.
| v | Variable. |
Definition at line 23 of file value_of.hpp.
|
inline |
Return the value of the specified scalar argument converted to a double value.
See the primitive_value function to extract values without casting to double.
This function is meant to cover the primitive types. For types requiring pass-by-reference, this template function should be specialized.
| T | type of scalar. |
| x | scalar to convert to double |
Definition at line 28 of file value_of.hpp.
|
inline |
Return the specified argument.
See value_of(T) for a polymorphic implementation using static casts.
This inline pass-through no-op should be compiled away.
| x | value |
Definition at line 59 of file value_of.hpp.
|
inline |
Convert a std::vector of type T to a std::vector of child_type<T>::type.
| T | Scalar type in std::vector |
| [in] | x | std::vector to be converted |
Definition at line 70 of file value_of.hpp.
|
inline |
Return the specified argument.
See value_of(T) for a polymorphic implementation using static casts.
This inline pass-through no-op should be compiled away.
| x | Specified std::vector. |
Definition at line 91 of file value_of.hpp.
|
inline |
Return the specified argument.
See value_of(T) for a polymorphic implementation using static casts.
This inline pass-through no-op should be compiled away.
| x | Specified std::vector. |
Definition at line 106 of file value_of.hpp.
|
inline |
Convert a matrix of type T to a matrix of doubles.
T must implement value_of. See test/math/fwd/fun/value_of.cpp for fvar and var usage.
| T | type of elements in the matrix |
| R | number of rows in the matrix, can be Eigen::Dynamic |
| C | number of columns in the matrix, can be Eigen::Dynamic |
| [in] | M | Matrix to be converted |
Definition at line 122 of file value_of.hpp.
|
inline |
Return the specified argument.
See value_of(T) for a polymorphic implementation using static casts.
This inline pass-through no-op should be compiled away.
| R | number of rows in the matrix, can be Eigen::Dynamic |
| C | number of columns in the matrix, can be Eigen::Dynamic |
| x | Specified matrix. |
Definition at line 148 of file value_of.hpp.
|
inline |
Return the specified argument.
See value_of(T) for a polymorphic implementation using static casts.
This inline pass-through no-op should be compiled away.
| R | number of rows in the matrix, can be Eigen::Dynamic |
| C | number of columns in the matrix, can be Eigen::Dynamic |
| x | Specified matrix. |
Definition at line 168 of file value_of.hpp.
|
inline |
Return the specified argument.
See value_of(T) for a polymorphic implementation using static casts.
This inline pass-through no-op should be compiled away.
| x | value |
Definition at line 44 of file value_of.hpp.
|
inline |
Return the value of the specified variable.
| v | Variable. |
Definition at line 17 of file value_of_rec.hpp.
|
inline |
Return the value of the specified variable.
| T | inner type of the fvar, must implement value_of_rec |
| v | Variable. |
Definition at line 20 of file value_of_rec.hpp.
|
inline |
Return the value of the specified scalar argument converted to a double value.
See the primitive_value function to extract values without casting to double.
This function is meant to cover the primitive types. For types requiring pass-by-reference, this template function should be specialized.
| T | Type of scalar. |
| x | Scalar to convert to double. |
Definition at line 28 of file value_of_rec.hpp.
|
inline |
Return the specified argument.
See value_of(T) for a polymorphic implementation using static casts.
This inline pass-through no-op should be compiled away.
| x | Specified value. |
Definition at line 43 of file value_of_rec.hpp.
|
inline |
Convert a std::vector of type T to a std::vector of doubles.
T must implement value_of_rec. See test/math/fwd/fun/value_of_rec.cpp for fvar and var usage.
| T | Scalar type in std::vector |
| [in] | x | std::vector to be converted |
Definition at line 56 of file value_of_rec.hpp.
|
inline |
Return the specified argument.
See value_of_rec(T) for a polymorphic implementation using static casts.
This inline pass-through no-op should be compiled away.
| x | Specified std::vector. |
Definition at line 76 of file value_of_rec.hpp.
|
inline |
Convert a matrix of type T to a matrix of doubles.
T must implement value_of_rec. See test/unit/math/fwd/fun/value_of_test.cpp for fvar and var usage.
| T | Type of matrix |
| [in] | M | Matrix to be converted |
Definition at line 92 of file value_of_rec.hpp.
|
inline |
Return the specified argument.
See value_of_rec(T) for a polymorphic implementation using static casts.
This inline pass-through no-op should be compiled away.
| T | Type of matrix. |
| x | Specified matrix. |
Definition at line 110 of file value_of_rec.hpp.
|
inline |
Returns the sample variance (divide by length - 1) of the coefficients in the specified standard vector.
| T | type of elements in the vector |
| v | specified vector |
| <code>std::invalid_argument</code> | if the vector has size zero |
Definition at line 22 of file variance.hpp.
Return the sample variance of the specified standard vector.
Raise domain error if size is not greater than zero.
| [in] | v | a vector |
Definition at line 41 of file variance.hpp.
|
inline |
Returns the sample variance (divide by length - 1) of the coefficients in the specified matrix.
| T | type of elements in the vector |
| R | number of rows in the matrix, can be Eigen::Dynamic |
| C | number of columns in the matrix, can be Eigen::Dynamic |
| m | matrix |
| <code>std::invalid_argument</code> | if the matrix has size zero |
Definition at line 49 of file variance.hpp.
Definition at line 60 of file variance.hpp.
|
inline |
Ends the recursion to extract the event stack.
| v1 | Events on the OpenCL event stack. |
Definition at line 17 of file vec_concat.hpp.
|
inline |
Get the event stack from a vector of events and other arguments.
| T | type of elements in the array |
| Args | types for variadic arguments |
| v1 | event stack to roll up |
| args | variadic arguments passed down to the next recursion |
Definition at line 31 of file vec_concat.hpp.
| return_type_t<T_y, T_loc, T_scale> stan::math::von_mises_lpdf | ( | T_y const & | y, |
| T_loc const & | mu, | ||
| T_scale const & | kappa | ||
| ) |
Definition at line 19 of file von_mises_lpdf.hpp.
|
inline |
Definition at line 112 of file von_mises_lpdf.hpp.
|
inline |
Definition at line 142 of file weibull_lpdf.hpp.
|
inline |
Definition at line 198 of file wiener_lpdf.hpp.
|
inline |
Definition at line 96 of file wishart_lpdf.hpp.
|
inline |
Definition at line 15 of file wishart_rng.hpp.
|
inline |
Return an array of zeros.
| K | size of the array |
| std::domain_error | if K is negative. |
Definition at line 17 of file zeros_array.hpp.
|
inline |
Return an integer array of zeros.
| K | size of the array |
| std::domain_error | if K is negative. |
Definition at line 17 of file zeros_int_array.hpp.
|
inline |
Return a row vector of zeros.
| K | size of the row vector |
| std::domain_error | if K is negative. |
Definition at line 17 of file zeros_row_vector.hpp.
|
inline |
Return a vector of zeros.
| K | size of the vector |
| std::domain_error | if K is negative. |
Definition at line 17 of file zeros_vector.hpp.
| const double stan::math::CONSTRAINT_TOLERANCE = 1E-8 |
The tolerance for checking arithmetic bounds in rank and in simplexes.
The default value is 1E-8.
Definition at line 12 of file constraint_tolerance.hpp.
| const double stan::math::EPSILON = std::numeric_limits<double>::epsilon() |
Smallest positive value.
Definition at line 32 of file constants.hpp.
| const double stan::math::HALF_LOG_TWO = 0.5 * LOG_TWO |
The value of half the natural logarithm 2, \( \log(2) / 2 \).
Definition at line 161 of file constants.hpp.
| const double stan::math::HALF_LOG_TWO_PI = 0.5 * LOG_TWO_PI |
The value of half the natural logarithm \( 2\pi \), \( \log(2\pi) / 2 \).
Definition at line 167 of file constants.hpp.
| const double stan::math::INFTY = std::numeric_limits<double>::infinity() |
Positive infinity.
Definition at line 37 of file constants.hpp.
The value of 1 over the square root of \( \pi \), \( 1 / \sqrt{\pi} \).
Definition at line 143 of file constants.hpp.
The value of 1 over the square root of 2, \( 1 / \sqrt{2} \).
Definition at line 137 of file constants.hpp.
| const double stan::math::INV_SQRT_TWO_PI = inv(SQRT_TWO_PI) |
The value of 1 over the square root of \( 2\pi \), \( 1 / \sqrt{2\pi} \).
Definition at line 149 of file constants.hpp.
| constexpr double stan::math::lgamma_stirling_diff_useful = 10 |
Definition at line 17 of file lgamma_stirling_diff.hpp.
| const double stan::math::LOG_EPSILON = std::log(EPSILON) |
The natural logarithm of machine precision \( \epsilon \), \( \log \epsilon \).
Definition at line 65 of file constants.hpp.
| const double stan::math::LOG_HALF = std::log(0.5) |
The natural logarithm of 0.5, \( \log 0.5 \).
Definition at line 77 of file constants.hpp.
| const double stan::math::LOG_PI = std::log(pi()) |
The natural logarithm of \( \pi \), \( \log \pi \).
Definition at line 71 of file constants.hpp.
| const double stan::math::LOG_PI_OVER_FOUR = 0.25 * LOG_PI |
The value of one quarter the natural logarithm of \( \pi \), \( \log(\pi) / 4 \).
Definition at line 95 of file constants.hpp.
| const double stan::math::LOG_SQRT_PI = std::log(std::sqrt(pi())) |
The natural logarithm of the square root of \( \pi \), \( \log(sqrt{\pi}) \).
Definition at line 101 of file constants.hpp.
| const double stan::math::LOG_TEN = std::log(10.0) |
The natural logarithm of 10, \( \log 10 \).
Definition at line 107 of file constants.hpp.
| const double stan::math::LOG_TWO = std::log(2.0) |
The natural logarithm of 2, \( \log 2 \).
Definition at line 83 of file constants.hpp.
The natural logarithm of 2 plus the natural logarithm of \( \pi \), \( \log(2\pi) \).
Definition at line 89 of file constants.hpp.
| const double stan::math::LOG_ZERO = std::log(0.0) |
The natural logarithm of 0, \( \log 0 \).
Definition at line 59 of file constants.hpp.
| const std::string stan::math::MAJOR_VERSION = STAN_STRING(STAN_MATH_MAJOR) |
Major version number for Stan math library.
Definition at line 22 of file version.hpp.
| const std::string stan::math::MINOR_VERSION = STAN_STRING(STAN_MATH_MINOR) |
Minor version number for Stan math library.
Definition at line 25 of file version.hpp.
| const double stan::math::NEG_LOG_SQRT_TWO_PI = -std::log(SQRT_TWO_PI) |
The value of minus the natural logarithm of the square root of \( 2\pi \), \( -\log(\sqrt{2\pi}) \).
Definition at line 173 of file constants.hpp.
| const double stan::math::NEGATIVE_INFTY = -INFTY |
Negative infinity.
Definition at line 42 of file constants.hpp.
| const double stan::math::NOT_A_NUMBER = std::numeric_limits<double>::quiet_NaN() |
(Quiet) not-a-number value.
Definition at line 47 of file constants.hpp.
Definition at line 383 of file opencl_context.hpp.
| const std::string stan::math::PATCH_VERSION = STAN_STRING(STAN_MATH_PATCH) |
Patch version for Stan math library.
Definition at line 28 of file version.hpp.
| const double stan::math::POISSON_MAX_RATE = std::pow(2.0, 30) |
Largest rate parameter allowed in Poisson RNG.
Definition at line 178 of file constants.hpp.
| const double stan::math::SQRT_PI = std::sqrt(pi()) |
The value of the square root of \( \pi \), \( \sqrt{\pi} \).
Definition at line 119 of file constants.hpp.
| const double stan::math::SQRT_TWO = std::sqrt(2.0) |
The value of the square root of 2, \( \sqrt{2} \).
Definition at line 113 of file constants.hpp.
The square root of 2 divided by the square root of \( \pi \), \( \sqrt{2} / \sqrt{\pi} \).
Definition at line 131 of file constants.hpp.
| const double stan::math::SQRT_TWO_PI = std::sqrt(TWO_PI) |
The value of the square root of \( 2\pi \), \( \sqrt{2\pi} \).
Definition at line 125 of file constants.hpp.
| const double stan::math::TWO_OVER_SQRT_PI = 2.0 / SQRT_PI |
The value of 2 over the square root of \( \pi \), \( 2 / \sqrt{\pi} \).
Definition at line 155 of file constants.hpp.
| const double stan::math::TWO_PI = 2.0 * pi() |
Twice the value of \( \pi \), \( 2\pi \).
Definition at line 53 of file constants.hpp.